rsin A (should all be same)

Time bar (total: 8.6s)

start0.0ms (0%)

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

analyze292.0ms (3.4%)

Memory
6.9MiB live, 387.3MiB allocated; 65ms 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)

sample2.1s (25%)

Memory
-12.9MiB live, 1 905.9MiB allocated; 1.2s collecting garbage
Samples
1.6s5 989×1valid
151.0ms2 267×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.4s
ival-cos: 748.0ms (54.1% of total)
ival-sin: 238.0ms (17.2% of total)
adjust: 155.0ms (11.2% of total)
ival-add: 94.0ms (6.8% of total)
ival-div: 75.0ms (5.4% of total)
ival-mult: 62.0ms (4.5% of total)
ival-true: 7.0ms (0.5% of total)
ival-assert: 4.0ms (0.3% of total)
Bogosity

explain185.0ms (2.2%)

Memory
17.9MiB live, 207.8MiB allocated; 44ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
69128(-7.62354695460957e+195 -2.985649542798514e-194 -1.8641594689303438e+298)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))sensitivity1970
Confusion
Predicted +Predicted -
+690
-12859
Precision
0.350253807106599
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6900
-128059
Precision?
0.350253807106599
Recall?
1.0
Freqs
test
numberfreq
059
1197
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
75.0ms388×1valid
9.0ms124×0valid
Compiler

Compiled 63 to 28 computations (55.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 61.0ms
ival-cos: 20.0ms (32.8% of total)
ival-sin: 12.0ms (19.7% of total)
adjust: 10.0ms (16.4% of total)
ival-mult: 8.0ms (13.1% of total)
ival-add: 5.0ms (8.2% of total)
ival-div: 4.0ms (6.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess139.0ms (1.6%)

Memory
-19.3MiB live, 128.8MiB allocated; 33ms 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.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

simplify116.0ms (1.4%)

Memory
13.7MiB live, 120.1MiB allocated; 9ms 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

localize49.0ms (0.6%)

Memory
4.2MiB live, 93.0MiB allocated; 8ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(sin.f64 b)
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
accuracy14.706278904583773
(cos.f64 (+.f64 a b))
Samples
36.0ms194×1valid
4.0ms62×0valid
Compiler

Compiled 27 to 10 computations (63% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-cos: 8.0ms (30.4% of total)
ival-sin: 6.0ms (22.8% of total)
adjust: 5.0ms (19% of total)
ival-add: 3.0ms (11.4% of total)
ival-div: 2.0ms (7.6% of total)
ival-mult: 2.0ms (7.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series14.0ms (0.2%)

Memory
-25.7MiB live, 21.0MiB allocated; 3ms 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
3.0ms
r
@inf
((/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (sin b) (cos (+ a b)))
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
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)))

simplify341.0ms (4%)

Memory
10.5MiB live, 201.0MiB allocated; 33ms 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))

rewrite299.0ms (3.5%)

Memory
15.7MiB live, 207.7MiB allocated; 23ms 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)))

eval49.0ms (0.6%)

Memory
-45.6MiB live, 59.7MiB allocated; 8ms collecting garbage
Compiler

Compiled 4 641 to 744 computations (84% saved)

prune19.0ms (0.2%)

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

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New16022182
Fresh000
Picked011
Done000
Total16023183
Accuracy
99.8%
Counts
183 → 23
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))))
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)))))))
49.9%
(/.f64 (*.f64 r (sin.f64 b)) (-.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)))))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
34.8%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
35.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
76.9%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
44.7%
(/.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.9%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 b)) a (cos.f64 b))))
45.6%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 (neg.f64 (sin.f64 a)) b (cos.f64 a))))
61.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
48.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
43.9%
(/.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)))
43.6%
(/.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)))
43.9%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.3%
(*.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))))
76.8%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
76.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
76.9%
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
61.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
44.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
Compiler

Compiled 887 to 600 computations (32.4% saved)

simplify156.0ms (1.8%)

Memory
-25.8MiB live, 158.5MiB allocated; 25ms 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 (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
037248
063240
1113240
2202240
3359240
4734240
51755240
63922240
77875240
08871240
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))) (*.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 (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))) (*.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)

localize318.0ms (3.7%)

Memory
24.5MiB live, 281.7MiB allocated; 45ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.1171875
(*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b)
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.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))))
accuracy35.95877298982977
#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.01171875
(+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
accuracy43.427047145875534
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64))))
accuracy0.0078125
(sin.f64 b)
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
accuracy25.949770422731678
#s(approx (cos (+ a b)) (cos.f64 b))
accuracy0.0
(cos.f64 a)
accuracy0.0859375
(*.f64 (/.f64 r (cos.f64 a)) b)
accuracy0.125
(/.f64 r (cos.f64 a))
accuracy35.82069934430801
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
accuracy0.0859375
(*.f64 (cos.f64 b) (cos.f64 a))
accuracy0.10841752930532605
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
Samples
198.0ms196×1valid
17.0ms60×0valid
Compiler

Compiled 212 to 34 computations (84% saved)

Precisions
Click to see histograms. Total time spent on operations: 147.0ms
ival-sin: 36.0ms (24.5% of total)
ival-cos: 26.0ms (17.7% of total)
ival-div: 25.0ms (17% of total)
adjust: 19.0ms (12.9% of total)
ival-mult: 18.0ms (12.3% of total)
ival-add: 14.0ms (9.5% of total)
ival-sub: 4.0ms (2.7% of total)
ival-neg: 3.0ms (2% of total)
ival-pi: 2.0ms (1.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series64.0ms (0.7%)

Memory
-7.7MiB live, 88.2MiB allocated; 18ms collecting garbage
Counts
17 → 94
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))) (*.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 (cos.f64 b) (cos.f64 a))
(+.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))))
(+ (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)))))))
(- (* 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)))
(* (cos a) (cos 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)))))
(+ (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)))))))
(- (* 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
17.0ms
a
@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) (/ 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)) (* (cos b) (cos a)) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
7.0ms
a
@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) (/ 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)) (* (cos b) (cos a)) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
7.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) (/ 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)) (* (cos b) (cos a)) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
6.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) (/ 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)) (* (cos b) (cos a)) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))
5.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) (/ 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)) (* (cos b) (cos a)) (+ (- (neg b) a) (/ (PI) 2)) (* (* (cos a) -1/2) b))

simplify168.0ms (2%)

Memory
-30.7MiB live, 203.3MiB allocated; 35ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04471971
115731864
262301822
085281726
Stop Event
iter limit
node limit
Counts
94 → 92
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))))
(+ (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)))))))
(- (* 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)))
(* (cos a) (cos 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)))))
(+ (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)))))))
(- (* 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 b) 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 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64))) r (/.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 (fma.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 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64))) r (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (cos.f64 b))) (/.f64 (sin.f64 b) (cos.f64 b)))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) #s(literal 3 binary64)) r)) (/.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 #s(literal 5/24 binary64) (*.f64 b r)) (*.f64 a a))) (*.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 #s(literal 5/24 binary64) (*.f64 b r))) (*.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 #s(literal 5/24 binary64) r) (*.f64 a a) (*.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 #s(literal 5/24 binary64) r)) (*.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 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b))) r (*.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 (neg.f64 (*.f64 (sin.f64 b) r)) (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64))) (pow.f64 (sin.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))
(+ (* 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 (fma.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 (neg.f64 (*.f64 (sin.f64 b) r)) (pow.f64 (cos.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 2 binary64))) (pow.f64 (sin.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))))) (/.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 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)) #s(literal 3 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r)) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b)))) 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))))
(+ (cos b) (* -1/2 (* (pow a 2) (cos b))))
(*.f64 (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #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 a a) #s(literal -1/2 binary64) #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)))))
(- (* 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 b) a))
(* -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 b) a)))
(* (cos a) (cos b))
(*.f64 (cos.f64 b) (cos.f64 a))
(* -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 b) a)))
(/ (* 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 b) a))))
(* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))
(fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) b) a) a (neg.f64 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 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (/.f64 r (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 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (/.f64 r (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 (fma.f64 #s(literal -1/6 binary64) (/.f64 r (cos.f64 a)) (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (/.f64 r (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 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) b (neg.f64 (sin.f64 a))) b (cos.f64 a))
(+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (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)) 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 (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/6 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 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 3 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) 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 (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/6 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 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 3 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)))) (/.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 (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))) #s(literal -1/6 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 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a)) #s(literal 3 binary64)))) (/.f64 (*.f64 #s(literal -1/2 binary64) r) (sin.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a))))) 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)
(+ (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 #s(literal -1/720 binary64) b) b #s(literal 1/24 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 b) a))
(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 b) a)))
(/ (* 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 b) a))))
(* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))
(fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b))

rewrite163.0ms (1.9%)

Memory
16.9MiB live, 204.2MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037163
063167
1231139
21721139
09252139
Stop Event
iter limit
node limit
iter limit
Counts
17 → 460
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))) (*.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 (cos.f64 b) (cos.f64 a))
(+.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)) (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 (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)))) (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 (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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 (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 (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 (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 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 (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 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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 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 (+.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 (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 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 (+.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 (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 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))) (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 (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 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 (+.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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) (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 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 (+.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 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 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 (+.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 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 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 (+.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 (-.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 a b)))) #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 a b))))) #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 a b))) #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 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 (neg.f64 a) b)) (cos.f64 (-.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) (neg.f64 a)))) (-.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 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 #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 a b))) #s(literal 2 binary64))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.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 (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 a b)) #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 a b))) #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 a b)))))))
(/.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 (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)))) (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 (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 (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 a) (cos.f64 b)) #s(literal 3 binary64)) (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))))
(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 (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 (/.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 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(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 #s(literal 1 binary64) (cos.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 1 binary64) (cos.f64 (+.f64 a b)) (*.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 a b))))
(fma.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.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 (cos.f64 (+.f64 a b)) #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 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 (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 (-.f64 (neg.f64 b) a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(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 (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 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (+.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(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 (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 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 a b))) #s(literal 1 binary64)))
(-.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 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 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (-.f64 (neg.f64 b) 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 (neg.f64 (+.f64 a b))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (+.f64 a b))
(+.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 (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 a) (neg.f64 (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 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 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.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 #s(literal 1 binary64) (cos.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 1 binary64) (cos.f64 (+.f64 a b))) (*.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 a b))))
(+.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))) (*.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 (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 (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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 (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 (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 (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 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 (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 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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 (neg.f64 a) b)) (cos.f64 (-.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) (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 (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 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 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 (+.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 (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 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 (+.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 (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 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))) (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 (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 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 (+.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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 (neg.f64 a) b)) (cos.f64 (-.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) (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 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 (+.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 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 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 (+.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 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 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 (+.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 (-.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 a b)))) #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 a b))))) #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 a b))) #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 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 (neg.f64 a) b)) (cos.f64 (-.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) (neg.f64 a)))) (-.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 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 #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 a b))) #s(literal 2 binary64))) (sin.f64 (-.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.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 (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 a b)) #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 a b))) #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 a b)))))))
(/.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 (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)))) (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 (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 (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 a) (cos.f64 b)) #s(literal 3 binary64)) (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))))
(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 (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 (/.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 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(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 #s(literal 1 binary64) (cos.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 1 binary64) (cos.f64 (+.f64 a b)) (*.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 a b))))
(fma.f64 (sin.f64 (-.f64 (neg.f64 b) a)) #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) (cos.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 (cos.f64 (+.f64 a b)) #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 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 (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 (-.f64 (neg.f64 b) a)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(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 (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 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (+.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(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 (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 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 a b))) #s(literal 1 binary64)))
(-.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 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 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (-.f64 (neg.f64 b) 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 (neg.f64 (+.f64 a b))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (-.f64 (neg.f64 a) b))
(cos.f64 (-.f64 b (neg.f64 a)))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (+.f64 a b))
(+.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 (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 a) (neg.f64 (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 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 (sin.f64 (neg.f64 (+.f64 a b))) #s(literal 0 binary64)) (*.f64 #s(literal 1 binary64) (cos.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 #s(literal 1 binary64) (cos.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 1 binary64) (cos.f64 (+.f64 a b))) (*.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 a b))))
(+.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)))
(*.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 (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)))) (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 (/.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 (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 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 b)))) (sin.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b))) (sin.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) b)) (sin.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))) #s(literal 2 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 (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))) (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 (cos.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (cos.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #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 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (/.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 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #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 (neg.f64 (neg.f64 a)) b)) (cos.f64 (-.f64 (neg.f64 (neg.f64 a)) 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)) (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 b (neg.f64 (neg.f64 a)))) (cos.f64 (-.f64 b (neg.f64 (neg.f64 a))))) #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 (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 (+.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 (neg.f64 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 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) #s(literal 2 binary64)) (/.f64 (cos.f64 (-.f64 a b)) #s(literal 2 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)))

eval115.0ms (1.3%)

Memory
-8.2MiB live, 141.0MiB allocated; 25ms collecting garbage
Compiler

Compiled 13 903 to 2 006 computations (85.6% saved)

prune47.0ms (0.6%)

Memory
15.7MiB live, 110.3MiB allocated; 3ms collecting garbage
Pruning

45 alts after pruning (41 fresh and 4 done)

PrunedKeptTotal
New43833471
Fresh9817
Picked235
Done011
Total44945494
Accuracy
99.8%
Counts
494 → 45
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))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.3%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
63.1%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #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))))))))
44.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (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))))
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.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
18.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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)))))
35.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
32.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
34.8%
(/.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 b) a)))))
15.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
15.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
76.9%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
59.2%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))))
45.6%
(/.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.9%
(/.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))))
61.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
48.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
43.8%
(/.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))))
28.8%
(/.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)) (cos.f64 b)))
43.8%
(/.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
29.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)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
43.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 a)) b (cos.f64 a))))
29.0%
(/.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)))
43.9%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.3%
(*.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))))
76.8%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
76.8%
(*.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))))
76.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
61.7%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
61.7%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
29.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))))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
29.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
29.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))
44.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
28.2%
#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))
28.3%
#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))
28.2%
#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))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
29.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 2 009 to 1 430 computations (28.8% saved)

simplify114.0ms (1.3%)

Memory
14.3MiB live, 114.4MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
cost-diff2
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
cost-diff0
(sin.f64 b)
cost-diff0
(*.f64 r (sin.f64 b))
cost-diff0
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
cost-diff4
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
cost-diff0
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
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-diff2
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
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 (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
042312
069312
1131304
2252304
3588304
41524298
53459298
66635298
08039292
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))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
b
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)
(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 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
#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
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a)))
(sin.f64 b)
(neg.f64 (sin.f64 a))
(sin.f64 a)
a
(*.f64 (cos.f64 b) (cos.f64 a))
(cos.f64 b)
(cos.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 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.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 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.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))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
b
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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)) #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 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(*.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 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(cos.f64 (+.f64 a b))
(+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)
(+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (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 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(*.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
(fma.f64 (sin.f64 b) (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 a) (cos.f64 b)))
(sin.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)

localize255.0ms (3%)

Memory
-0.9MiB live, 278.3MiB allocated; 31ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.20703125
(/.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
accuracy0.3393683853558779
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy5.943447691550495
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
accuracy35.88613689789451
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
accuracy0.0078125
(sin.f64 b)
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))
accuracy43.19624807020259
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
accuracy0.3393683853558779
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy5.943447691550495
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
accuracy25.949770422731678
#s(approx (cos (+ a b)) (cos.f64 b))
accuracy35.88613689789451
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b))
accuracy0.0
(*.f64 b r)
accuracy23.505376902121505
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
accuracy35.82069934430801
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
accuracy0.11947250976844202
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.203125
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
accuracy0.20703125
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
Samples
184.0ms196×1valid
39.0ms60×0valid
Compiler

Compiled 259 to 38 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 165.0ms
ival-add: 47.0ms (28.5% of total)
ival-cos: 26.0ms (15.8% of total)
ival-sin: 24.0ms (14.6% of total)
ival-mult: 22.0ms (13.4% of total)
adjust: 20.0ms (12.1% of total)
ival-div: 17.0ms (10.3% of total)
const: 6.0ms (3.6% of total)
ival-pi: 2.0ms (1.2% of total)
ival-neg: 1.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series78.0ms (0.9%)

Memory
-13.3MiB live, 83.8MiB allocated; 17ms collecting garbage
Counts
17 → 85
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))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) 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 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
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 (+ 1 (* -1/6 (pow b 2)))))
(* r (+ 1 (* -1/6 (pow b 2))))
(/ (* r (sin b)) (sin (+ a (+ b (* 1/2 (PI))))))
(/ (* 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 (+ b (* 1/2 (PI))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (cos (+ b (* 1/2 (PI))))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* -1/2 (* a (sin (+ b (* 1/2 (PI)))))))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (+ b (* 1/2 (PI))))) (* -1/6 (* a (cos (+ b (* 1/2 (PI)))))))))))
(/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))
(+ (* -1 (/ (* a (* r (* (cos (+ b (* 1/2 (PI)))) (sin b)))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* (cos (+ b (* 1/2 (PI)))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))))) (sin (+ b (* 1/2 (PI)))))) (+ (* -1/6 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (* 1/2 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))))))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(* -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)))))))))
(+ (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 (* (sin a) (sin b))) (* (cos a) (cos b)))
(sin (+ a (+ b (* 1/2 (PI)))))
(* -1 (* (sin a) (sin b)))
(cos (+ a b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(sin (- (+ b (* 1/2 (PI))) (* -1 a)))
(/ (* r (sin b)) (sin (- (+ b (* 1/2 (PI))) (* -1 a))))
(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))))))))
r
(+ r (* -1/6 (* (pow b 2) r)))
(sin (+ a (* 1/2 (PI))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (cos (+ a (* 1/2 (PI))))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* -1/2 (* b (sin (+ a (* 1/2 (PI)))))))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* b (+ (* -1/2 (sin (+ a (* 1/2 (PI))))) (* -1/6 (* b (cos (+ a (* 1/2 (PI)))))))))))
(/ (* b r) (sin (+ a (* 1/2 (PI)))))
(* b (+ (* -1 (/ (* b (* r (cos (+ a (* 1/2 (PI)))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1/6 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (+ (* 1/2 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ (* (cos (+ a (* 1/2 (PI)))) (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (sin (+ a (* 1/2 (PI))))))))) (* -1/6 (/ r (sin (+ a (* 1/2 (PI))))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* -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)))))))))
(+ (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/6 (pow b 2)))
(sin b)
(* -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))))
(* -1/6 (pow b 2))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(sin (- (+ a (* 1/2 (PI))) (* -1 b)))
(/ (* r (sin b)) (sin (- (+ a (* 1/2 (PI))) (* -1 b))))
(cos (- a (* -1 b)))
Calls

9 calls:

TimeVariablePointExpression
24.0ms
b
@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) (* b r) (* (* (+ (* (* b b) -1/6) 1) r) b) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (+ (* (* b b) -1/6) 1) r) (sin (+ (+ (/ (PI) 2) b) a)) (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* (neg (sin a)) (sin b)) (cos (+ a b)) (+ (* (* b b) -1/6) 1))
22.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) (* b r) (* (* (+ (* (* b b) -1/6) 1) r) b) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (+ (* (* b b) -1/6) 1) r) (sin (+ (+ (/ (PI) 2) b) a)) (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* (neg (sin a)) (sin b)) (cos (+ a b)) (+ (* (* b b) -1/6) 1))
7.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) (* b r) (* (* (+ (* (* b b) -1/6) 1) r) b) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (+ (* (* b b) -1/6) 1) r) (sin (+ (+ (/ (PI) 2) b) a)) (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* (neg (sin a)) (sin b)) (cos (+ a b)) (+ (* (* b b) -1/6) 1))
6.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) (* b r) (* (* (+ (* (* b b) -1/6) 1) r) b) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (+ (* (* b b) -1/6) 1) r) (sin (+ (+ (/ (PI) 2) b) a)) (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* (neg (sin a)) (sin b)) (cos (+ a b)) (+ (* (* b b) -1/6) 1))
4.0ms
b
@-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) (* b r) (* (* (+ (* (* b b) -1/6) 1) r) b) (/ (* r (sin b)) (cos (+ a b))) (* r (sin b)) (* (+ (* (* b b) -1/6) 1) r) (sin (+ (+ (/ (PI) 2) b) a)) (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/ (* r (sin b)) (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a)))) (* (neg (sin a)) (sin b)) (cos (+ a b)) (+ (* (* b b) -1/6) 1))

simplify200.0ms (2.3%)

Memory
15.4MiB live, 248.0MiB allocated; 45ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03911840
114011750
256361738
085181569
Stop Event
iter limit
node limit
Counts
85 → 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 (+ 1 (* -1/6 (pow b 2)))))
(* r (+ 1 (* -1/6 (pow b 2))))
(/ (* r (sin b)) (sin (+ a (+ b (* 1/2 (PI))))))
(/ (* 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 (+ b (* 1/2 (PI))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (cos (+ b (* 1/2 (PI))))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* -1/2 (* a (sin (+ b (* 1/2 (PI)))))))))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (+ b (* 1/2 (PI))))) (* -1/6 (* a (cos (+ b (* 1/2 (PI)))))))))))
(/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))
(+ (* -1 (/ (* a (* r (* (cos (+ b (* 1/2 (PI)))) (sin b)))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* (cos (+ b (* 1/2 (PI)))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))))) (sin (+ b (* 1/2 (PI)))))) (+ (* -1/6 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (* 1/2 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))))))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(* -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)))))))))
(+ (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 (* (sin a) (sin b))) (* (cos a) (cos b)))
(sin (+ a (+ b (* 1/2 (PI)))))
(* -1 (* (sin a) (sin b)))
(cos (+ a b))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(sin (- (+ b (* 1/2 (PI))) (* -1 a)))
(/ (* r (sin b)) (sin (- (+ b (* 1/2 (PI))) (* -1 a))))
(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))))))))
r
(+ r (* -1/6 (* (pow b 2) r)))
(sin (+ a (* 1/2 (PI))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (cos (+ a (* 1/2 (PI))))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* -1/2 (* b (sin (+ a (* 1/2 (PI)))))))))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* b (+ (* -1/2 (sin (+ a (* 1/2 (PI))))) (* -1/6 (* b (cos (+ a (* 1/2 (PI)))))))))))
(/ (* b r) (sin (+ a (* 1/2 (PI)))))
(* b (+ (* -1 (/ (* b (* r (cos (+ a (* 1/2 (PI)))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1/6 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (+ (* 1/2 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ (* (cos (+ a (* 1/2 (PI)))) (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (sin (+ a (* 1/2 (PI))))))))) (* -1/6 (/ r (sin (+ a (* 1/2 (PI))))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(* -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)))))))))
(+ (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/6 (pow b 2)))
(sin b)
(* -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))))
(* -1/6 (pow b 2))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(sin (- (+ a (* 1/2 (PI))) (* -1 b)))
(/ (* r (sin b)) (sin (- (+ a (* 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 (+ 1 (* -1/6 (pow b 2)))))
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(* 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 (+ a (+ b (* 1/2 (PI))))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.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))
(+ (* 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 #s(literal 5/24 binary64) (*.f64 b r))) (*.f64 a a))) (*.f64 a a) (*.f64 b r))
(sin (+ b (* 1/2 (PI))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))
(+ (sin (+ b (* 1/2 (PI)))) (* a (cos (+ b (* 1/2 (PI))))))
(fma.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) a (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* -1/2 (* a (sin (+ b (* 1/2 (PI)))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) a (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* a (+ (* -1/2 (sin (+ b (* 1/2 (PI))))) (* -1/6 (* a (cos (+ b (* 1/2 (PI)))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal -1/2 binary64))) a (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) a (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(+ (* -1 (/ (* a (* r (* (cos (+ b (* 1/2 (PI)))) (sin b)))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (neg.f64 a) (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (sin.f64 b) r))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(fma.f64 (fma.f64 (neg.f64 a) (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal 3 binary64)))) (*.f64 (neg.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (sin.f64 b))) (/.f64 r (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(+ (* a (- (* a (- (* -1 (* a (+ (* -1 (/ (* (cos (+ b (* 1/2 (PI)))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))))) (sin (+ b (* 1/2 (PI)))))) (+ (* -1/6 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))) (* 1/2 (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2))))))) (+ (* -1 (/ (* r (* (pow (cos (+ b (* 1/2 (PI)))) 2) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 3))) (* -1/2 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))))) (/ (* r (* (cos (+ b (* 1/2 (PI)))) (sin b))) (pow (sin (+ b (* 1/2 (PI)))) 2)))) (/ (* r (sin b)) (sin (+ b (* 1/2 (PI))))))
(fma.f64 (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal 1/3 binary64) (/.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (sin.f64 b) r)) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64))) (/.f64 (*.f64 (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal 3 binary64)))) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))) (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal 3 binary64))))) a (*.f64 (neg.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (sin.f64 b))) (/.f64 r (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.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)
(+ (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 (* (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 (+ a (+ b (* 1/2 (PI)))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(* -1 (* (sin a) (sin b)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.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)))
(sin (- (+ b (* 1/2 (PI))) (* -1 a)))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(/ (* r (sin b)) (sin (- (+ b (* 1/2 (PI))) (* -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(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 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(* 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))
r
(+ r (* -1/6 (* (pow b 2) r)))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(sin (+ a (* 1/2 (PI))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))
(+ (sin (+ a (* 1/2 (PI)))) (* b (cos (+ a (* 1/2 (PI))))))
(fma.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) b (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* -1/2 (* b (sin (+ a (* 1/2 (PI)))))))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) b (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))
(+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* b (+ (* -1/2 (sin (+ a (* 1/2 (PI))))) (* -1/6 (* b (cos (+ a (* 1/2 (PI)))))))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) b) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal -1/2 binary64))) b (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) b (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))
(/ (* b r) (sin (+ a (* 1/2 (PI)))))
(/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))
(* b (+ (* -1 (/ (* b (* r (cos (+ a (* 1/2 (PI)))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ r (sin (+ a (* 1/2 (PI)))))))
(*.f64 (/.f64 (+.f64 r (/.f64 (*.f64 (*.f64 (neg.f64 b) r) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) b)
(* b (+ (* b (- (* b (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(*.f64 (fma.f64 (fma.f64 (-.f64 (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal 3 binary64)))) b (*.f64 (neg.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (/.f64 r (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64))))) b (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) b)
(* b (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1/6 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (+ (* 1/2 (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ (* (cos (+ a (* 1/2 (PI)))) (- (* -1/6 (/ r (sin (+ a (* 1/2 (PI)))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (sin (+ a (* 1/2 (PI))))))))) (* -1/6 (/ r (sin (+ a (* 1/2 (PI))))))) (+ (* -1 (/ (* r (pow (cos (+ a (* 1/2 (PI)))) 2)) (pow (sin (+ a (* 1/2 (PI)))) 3))) (* -1/2 (/ r (sin (+ a (* 1/2 (PI))))))))) (/ (* r (cos (+ a (* 1/2 (PI))))) (pow (sin (+ a (* 1/2 (PI)))) 2)))) (/ r (sin (+ a (* 1/2 (PI)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (neg.f64 b) (fma.f64 (*.f64 (/.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64))) r) #s(literal 1/3 binary64) (*.f64 (-.f64 (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal 3 binary64)))) (/.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))) (-.f64 (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/6 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal 3 binary64))))) b (*.f64 (neg.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (/.f64 r (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64))))) b (/.f64 r (sin.f64 (fma.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 #s(literal -1/120 binary64) (*.f64 b b) #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 #s(literal 1/5040 binary64) (*.f64 b b) #s(literal -1/120 binary64))))) b)
(+ (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/6 (pow b 2)))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(sin b)
(sin.f64 b)
(* -1/6 (* (pow b 3) r))
(*.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64)) r)
(* (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 (*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) b) b)
(* -1/6 (pow b 2))
(*.f64 (*.f64 b b) #s(literal -1/6 binary64))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) b) b)
(/ (* r (sin b)) (cos (- a (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) r (/.f64 (/.f64 (neg.f64 r) b) b)))
(sin (- (+ a (* 1/2 (PI))) (* -1 b)))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(/ (* r (sin b)) (sin (- (+ a (* 1/2 (PI))) (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 a b))

rewrite212.0ms (2.5%)

Memory
-14.5MiB live, 267.9MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042189
069160
1250160
21656160
09019160
Stop Event
iter limit
node limit
iter limit
Counts
17 → 381
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))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (*.f64 b r))
(*.f64 b r)
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) 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 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r)
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (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)))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.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 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.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 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 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 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 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 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))) (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 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 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (+.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))) (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 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))) (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 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 (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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))) (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 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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))) (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 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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 (-.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))) (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 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 (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 (-.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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (neg.f64 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))
(/.f64 (neg.f64 (+.f64 (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)))) (neg.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (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)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (+.f64 (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))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(/.f64 (+.f64 (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))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.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 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))))
(fma.f64 (sin.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 #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 (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 (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 (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 (-.f64 (neg.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 (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)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (-.f64 (neg.f64 (neg.f64 a)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(sin.f64 (-.f64 (+.f64 (neg.f64 a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(sin.f64 (-.f64 a (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(sin.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 (neg.f64 a))))
(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)) b) (neg.f64 a)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))) (cos.f64 (/.f64 (*.f64 a a) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))) (sin.f64 (/.f64 (*.f64 a a) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))))
(-.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 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 a)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (-.f64 a (neg.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 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(cos.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(cos.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))))
(+.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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #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 a) (cos.f64 b)) (cos.f64 (-.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 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 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(+.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 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)
(*.f64 (*.f64 b (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))) r)
(*.f64 (*.f64 b r) (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 b r))
(*.f64 b (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r))
(*.f64 r (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 b 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 b #s(literal 6 binary64)) #s(literal 1 binary64)) (*.f64 b r)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))))
(/.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 (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 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 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 b #s(literal 6 binary64)) #s(literal 1 binary64)) r) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))))
(/.f64 (*.f64 r (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 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 b #s(literal 6 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #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 (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.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 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 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 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 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 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))) (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 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 a b))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (+.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))) (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 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))) (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 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 (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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))) (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 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 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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))) (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 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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 (-.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))) (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 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 (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 (-.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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (neg.f64 (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))))
(/.f64 (neg.f64 (+.f64 (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)))) (neg.f64 (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (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)))) (neg.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (+.f64 (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))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(/.f64 (+.f64 (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))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.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 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))))
(fma.f64 (sin.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 #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 (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 (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 (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 (-.f64 (neg.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 (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)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (-.f64 (neg.f64 (neg.f64 a)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(sin.f64 (-.f64 (+.f64 (neg.f64 a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(sin.f64 (-.f64 a (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(sin.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) b))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (neg.f64 (neg.f64 a))))
(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)) b) (neg.f64 a)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(-.f64 (*.f64 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))) (cos.f64 (/.f64 (*.f64 a a) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))) (sin.f64 (/.f64 (*.f64 a a) (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a)))))
(-.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 (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (/.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 a)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (-.f64 (neg.f64 b) a)))
(cos.f64 (neg.f64 (-.f64 a (neg.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 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(cos.f64 (+.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(cos.f64 (-.f64 (+.f64 (neg.f64 a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) 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 (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 (sin.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (cos.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))) (*.f64 (cos.f64 (/.f64 (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64))))) (sin.f64 (/.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 a (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (pow.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) #s(literal 2 binary64)))))))
(+.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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #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 a) (cos.f64 b)) (cos.f64 (-.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 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 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a b))))
(+.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)))
(*.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 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (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)))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.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 (/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.f64 a b)))
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(*.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)) (+.f64 (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)))) (fma.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(*.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)) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
(/.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 (cos.f64 (+.f64 a 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 (cos.f64 (+.f64 a 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)) (cos.f64 (+.f64 a 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))) (cos.f64 (+.f64 a 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 (cos.f64 (+.f64 a b)))))
(*.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 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)))) (sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) a)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (sin.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) a)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (neg.f64 (+.f64 (PI.f64) a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (sin.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) a)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (neg.f64 a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (sin.f64 (+.f64 (+.f64 (neg.f64 a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (sin.f64 (+.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64))
(/.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)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (PI.f64) a)))) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (PI.f64) a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 a)))) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (neg.f64 a))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (PI.f64)))) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 a) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (PI.f64) a) (PI.f64)))) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (+.f64 (PI.f64) a) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))) a)) (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.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 (neg.f64 (+.f64 (PI.f64) a)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (neg.f64 (+.f64 (PI.f64) a)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (neg.f64 (neg.f64 a)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (neg.f64 (neg.f64 a)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 a) (PI.f64)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (neg.f64 a) (PI.f64)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) a) (PI.f64)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 a (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 a (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (/.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 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)))) (cos.f64 (-.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (-.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)) (+.f64 (+.f64 (PI.f64) 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)) b) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)))) (cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (cos.f64 (-.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a) (PI.f64)) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (cos.f64 (-.f64 (+.f64 (+.f64 (PI.f64) a) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))) #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 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))) (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)))
#s(approx (cos (+ a b)) (cos.f64 b))
(/.f64 (fma.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 b #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))) #s(literal 1 binary64))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 b)) (neg.f64 b) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) b) b #s(literal 1 binary64))
(fma.f64 (neg.f64 b) (*.f64 (neg.f64 b) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 b b) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 b (*.f64 (*.f64 #s(literal -1/6 binary64) b) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 b (*.f64 #s(literal -1/6 binary64) b) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 b b)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 b) (*.f64 #s(literal -1/6 binary64) b)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 b b)))
(+.f64 (/.f64 (*.f64 #s(literal -1/216 binary64) (pow.f64 b #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b))))) (pow.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))) #s(literal -1 binary64)))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 b b)))

eval60.0ms (0.7%)

Memory
26.6MiB live, 127.2MiB allocated; 12ms collecting garbage
Compiler

Compiled 12 538 to 1 611 computations (87.2% saved)

prune61.0ms (0.7%)

Memory
-38.0MiB live, 108.4MiB allocated; 10ms collecting garbage
Pruning

59 alts after pruning (53 fresh and 6 done)

PrunedKeptTotal
New37721398
Fresh43236
Picked325
Done044
Total38459443
Accuracy
99.8%
Counts
443 → 59
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))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.3%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
63.1%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #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))))))))
44.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (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))))
61.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 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) a))))
51.1%
(/.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))))
64.2%
(/.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.4%
(/.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)))))
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.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
18.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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)))))
32.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
34.8%
(/.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 b) a)))))
15.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
15.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
76.9%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
45.6%
(/.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.9%
(/.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))))
48.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (cos.f64 a)))
34.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
33.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
61.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
43.8%
(/.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))))
28.8%
(/.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)) (cos.f64 b)))
29.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
44.1%
(/.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 (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
29.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)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
44.3%
(/.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 (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))))
43.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
43.9%
(/.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 a b))))
29.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
12.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
29.1%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
12.0%
(/.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)))
43.9%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
15.3%
(/.f64 #s(approx (* r (sin b)) #s(approx (* (* (+ (* (* b b) -1/6) 1) r) b) (*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) (pow.f64 b #s(literal 3 binary64))))) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
76.8%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
76.8%
(*.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))))
76.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
61.7%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
43.7%
(*.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)) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
43.8%
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
43.8%
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.f64 a b)))
61.7%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
29.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))))
29.2%
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
29.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
29.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))
44.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
28.2%
#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))
28.3%
#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))
28.2%
#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))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
29.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 2 831 to 2 024 computations (28.5% saved)

simplify95.0ms (1.1%)

Memory
26.6MiB live, 118.3MiB allocated; 4ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
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) #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))))
cost-diff1
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
cost-diff0
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))))
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 b) a)))))
cost-diff0
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)
cost-diff0
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r))
cost-diff0
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
cost-diff2
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b)
cost-diff0
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
cost-diff0
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
cost-diff0
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
cost-diff0
#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))
cost-diff0
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.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)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060394
096394
1172394
2369394
3879386
42226383
54626383
67730383
08046379
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (cos.f64 b) (cos.f64 a))
(cos.f64 b)
(cos.f64 a)
a
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#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))
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
r
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 a a)
a
#s(literal -1/2 binary64)
#s(literal 1 binary64)
b
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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)) b) r))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b)
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
#s(literal -1/6 binary64)
(*.f64 b b)
b
#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 b) a)))))
(*.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 b) a))))
#s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))
(PI.f64)
#s(literal 1/2 binary64)
(-.f64 (neg.f64 b) a)
(neg.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 r (sin.f64 b))
r
(sin.f64 b)
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)))
(cos.f64 b)
(cos.f64 a)
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 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(sin.f64 a)
(fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))
(*.f64 #s(literal 1/6 binary64) b)
#s(literal 1/6 binary64)
#s(literal -1 binary64)
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.f64 b))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
b
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.f64 b)))
(*.f64 (cos.f64 b) (cos.f64 a))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(cos.f64 a)
a
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
(/.f64 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(/.f64 r #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))
r
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))
(fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))
(*.f64 a a)
a
#s(literal -1/2 binary64)
#s(literal 1 binary64)
b
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)) #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)) b) r))
#s(approx (* r (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b)
(fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
#s(literal -1/6 binary64)
(*.f64 b b)
b
#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 b) a)))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))))
(*.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 b) a))))
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))
#s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a)))
#s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))
(PI.f64)
#s(literal 1/2 binary64)
(-.f64 (neg.f64 b) a)
(neg.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 (sin.f64 b) r) (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) (neg.f64 (sin.f64 a))))))
(*.f64 r (sin.f64 b))
(*.f64 (sin.f64 b) r)
r
(sin.f64 b)
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)))
(fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) (neg.f64 (sin.f64 a)))))
(cos.f64 b)
(cos.f64 a)
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))
#s(approx (* (neg (sin a)) (sin b)) (*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) (neg.f64 (sin.f64 a))))
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) (neg.f64 (sin.f64 a)))
(*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (sin.f64 a))
(sin.f64 a)
(fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))
(*.f64 #s(literal 1/6 binary64) b)
#s(literal 1/6 binary64)
#s(literal -1 binary64)

localize310.0ms (3.6%)

Memory
-13.6MiB live, 420.8MiB allocated; 32ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.203125
(/.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))))
accuracy0.30859375
(*.f64 #s(literal 1/6 binary64) b)
accuracy3.8981996482374157
(*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
accuracy36.010574658885886
#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))
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.203125
(/.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 b) a)))))
accuracy0.2421816038481547
(PI.f64)
accuracy43.21765449994798
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))))
accuracy0.3393683853558779
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
accuracy3.2919870584488713
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)
accuracy25.770380708533366
#s(approx (cos (+ a b)) (cos.f64 b))
accuracy35.88613689789451
#s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r))
accuracy0.0859375
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
accuracy0.125
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
accuracy27.723548275858743
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
accuracy35.82069934430801
#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))
accuracy0.1168937988422101
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
accuracy0.14453125
(*.f64 r (sin.f64 b))
accuracy0.203125
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
accuracy0.203125
(*.f64 (sin.f64 a) (sin.f64 b))
Samples
225.0ms195×1valid
24.0ms60×0valid
2.0ms5exit
Compiler

Compiled 283 to 52 computations (81.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 209.0ms
ival-cos: 66.0ms (31.6% of total)
ival-mult: 36.0ms (17.2% of total)
adjust: 33.0ms (15.8% of total)
ival-sin: 24.0ms (11.5% of total)
ival-div: 15.0ms (7.2% of total)
ival-add: 14.0ms (6.7% of total)
const: 11.0ms (5.3% of total)
ival-sub: 4.0ms (1.9% of total)
ival-pi: 2.0ms (1% of total)
ival-neg: 2.0ms (1% of total)
exact: 1.0ms (0.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series58.0ms (0.7%)

Memory
12.2MiB live, 66.4MiB allocated; 6ms collecting garbage
Counts
23 → 115
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 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))
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b)
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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)) b) r))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) 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 b) a)))))
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))))
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(/.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 (sin.f64 a) (sin.f64 b))
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(PI.f64)
#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 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(*.f64 #s(literal 1/6 binary64) b)
Outputs
(/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos 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))))
(* 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)))
(/ (* 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)))))))))
(* a (* b (- (* 1/6 (pow b 2)) 1)))
(* a (+ (* -1/6 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* b (- (* 1/6 (pow b 2)) 1))))
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* 1/120 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1))))))))
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* 1/120 (* b (- (* 1/6 (pow b 2)) 1)))))))))
(* a (sin b))
(* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (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)))))))))
(* a (- (* 1/6 (pow b 2)) 1))
(* a (- (+ (* -1/6 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/6 (pow b 2))) 1))
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* 1/120 (* (pow a 2) (- (* 1/6 (pow b 2)) 1)))))) 1))
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/120 (- (* 1/6 (pow b 2)) 1))))))) 1))
(- (* (cos a) (cos b)) (* (sin a) (sin b)))
(cos a)
(sin (- (* 1/2 (PI)) (+ a b)))
(* b (* (sin a) (- (* 1/6 (pow b 2)) 1)))
(* (sin a) (sin b))
(cos (+ a b))
(* -1 (* (sin a) (sin b)))
(* (sin a) (- (* 1/6 (pow b 2)) 1))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(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) (* -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))))
(/ (* 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)))))
(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)))))))))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (sin a))
(* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))
(+ 1 (* -1/6 (pow b 2)))
(* 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 (sin a))
(+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a))))
(* 1/6 b)
(sin b)
(* -1/6 (pow b 3))
(* (pow b 3) (- (/ 1 (pow b 2)) 1/6))
(* -1/6 (* (pow b 3) r))
(* (pow b 3) (+ (* -1/6 r) (/ r (pow b 2))))
(* 1/6 (* (pow b 3) (sin a)))
(* (pow b 3) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(* -1/6 (pow b 2))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(* 1/6 (* (pow b 2) (sin a)))
(* (pow b 2) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (- 1/6 (/ 1 (pow b 2)))))
(* -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))
(* -1 (* (pow b 3) (+ (* -1/6 (sin a)) (/ (sin a) (pow b 2)))))
(cos (- a (* -1 b)))
Calls

9 calls:

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

simplify306.0ms (3.6%)

Memory
-18.8MiB live, 169.6MiB allocated; 21ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05182396
118652223
273882215
089272095
Stop Event
iter limit
node limit
Counts
115 → 113
Calls
Call 1
Inputs
(/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))
(* r (sin b))
(/ (* r (sin b)) (cos (+ a b)))
(/ (* b r) (cos a))
(/ r (cos a))
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/ (* r (sin b)) (+ (* -1 (* (sin a) (sin b))) (* (cos a) (cos 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))))
(* 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)))
(/ (* 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)))))))))
(* a (* b (- (* 1/6 (pow b 2)) 1)))
(* a (+ (* -1/6 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* b (- (* 1/6 (pow b 2)) 1))))
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* 1/120 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1))))))))
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* 1/120 (* b (- (* 1/6 (pow b 2)) 1)))))))))
(* a (sin b))
(* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (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)))))))))
(* a (- (* 1/6 (pow b 2)) 1))
(* a (- (+ (* -1/6 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/6 (pow b 2))) 1))
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* 1/120 (* (pow a 2) (- (* 1/6 (pow b 2)) 1)))))) 1))
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/120 (- (* 1/6 (pow b 2)) 1))))))) 1))
(- (* (cos a) (cos b)) (* (sin a) (sin b)))
(cos a)
(sin (- (* 1/2 (PI)) (+ a b)))
(* b (* (sin a) (- (* 1/6 (pow b 2)) 1)))
(* (sin a) (sin b))
(cos (+ a b))
(* -1 (* (sin a) (sin b)))
(* (sin a) (- (* 1/6 (pow b 2)) 1))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))
(sin (- (+ (* -1 a) (* 1/2 (PI))) b))
(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) (* -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))))
(/ (* 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)))))
(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)))))))))
(* -1 (* b (sin a)))
(* b (+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a)))))
(* b (sin a))
(* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))
(+ 1 (* -1/6 (pow b 2)))
(* 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 (sin a))
(+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a))))
(* 1/6 b)
(sin b)
(* -1/6 (pow b 3))
(* (pow b 3) (- (/ 1 (pow b 2)) 1/6))
(* -1/6 (* (pow b 3) r))
(* (pow b 3) (+ (* -1/6 r) (/ r (pow b 2))))
(* 1/6 (* (pow b 3) (sin a)))
(* (pow b 3) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(* -1/6 (pow b 2))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(* 1/6 (* (pow b 2) (sin a)))
(* (pow b 2) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(* -1 (* (pow b 3) (- 1/6 (/ 1 (pow b 2)))))
(* -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))
(* -1 (* (pow b 3) (+ (* -1/6 (sin a)) (/ (sin a) (pow b 2)))))
(cos (- a (* -1 b)))
Outputs
(/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin 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))
(* b (* r (+ 1 (* -1/6 (pow b 2)))))
(*.f64 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b))))
(/ (* 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)) (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 (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 (*.f64 (sin.f64 b) r) #s(literal -1/2 binary64)) (cos.f64 b))) (*.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))))
(+ (* 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 (*.f64 (sin.f64 b) r) #s(literal -1/2 binary64)) (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 (*.f64 (sin.f64 b) r) #s(literal -1/2 binary64)) (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/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))
(* b r)
(*.f64 b r)
(+ (* 1/2 (* (pow a 2) (* b r))) (* b r))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 a a) #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 (*.f64 b r) #s(literal -5/24 binary64)))) (*.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))
(/ (* 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))))
(/.f64 (fma.f64 (sin.f64 b) r (/.f64 (*.f64 (*.f64 a r) (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (sin.f64 b))) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)))) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) 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 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal 3 binary64)))) (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (*.f64 (sin.f64 b) r)) (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 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (*.f64 (sin.f64 b) r)) (pow.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64))) #s(literal -1/3 binary64) (*.f64 (fma.f64 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal 3 binary64)))) (/.f64 (cos.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 r (*.f64 (/.f64 (sin.f64 b) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal -1/2 binary64)) (/.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) #s(literal 2 binary64)) (sin.f64 b)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) #s(literal 3 binary64))))) a (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b)) (*.f64 (sin.f64 b) r)) (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 a #s(literal -1/2 binary64)) (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)))
(* a (* b (- (* 1/6 (pow b 2)) 1)))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b) a)
(* a (+ (* -1/6 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* b (- (* 1/6 (pow b 2)) 1))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b)) a)
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* 1/120 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1))))))))
(fma.f64 (pow.f64 a #s(literal 3 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b) (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64))) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b) a))
(* a (+ (* b (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/6 (* b (- (* 1/6 (pow b 2)) 1))) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (* b (- (* 1/6 (pow b 2)) 1)))) (* 1/120 (* b (- (* 1/6 (pow b 2)) 1)))))))))
(*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b) (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) b) (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64))) (*.f64 a a)) (*.f64 a a))) a)
(* a (sin b))
(*.f64 (sin.f64 b) a)
(* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a)
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))
(fma.f64 (pow.f64 a #s(literal 3 binary64)) (*.f64 (sin.f64 b) (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64))) (*.f64 (sin.f64 b) a))
(* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))
(fma.f64 (pow.f64 a #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 b) (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64))) (*.f64 a a) (*.f64 #s(literal -1/6 binary64) (sin.f64 b))) (*.f64 (sin.f64 b) a))
(* -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 (fma.f64 (*.f64 (sin.f64 b) (fma.f64 #s(literal 1/5040 binary64) (*.f64 a a) #s(literal -1/120 binary64))) (*.f64 a a) (*.f64 #s(literal 1/6 binary64) (sin.f64 b))) (*.f64 a a) (neg.f64 (sin.f64 b))) a)
(* a (- (* 1/6 (pow b 2)) 1))
(*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) a)
(* a (- (+ (* -1/6 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/6 (pow b 2))) 1))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))) a)
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* 1/120 (* (pow a 2) (- (* 1/6 (pow b 2)) 1)))))) 1))
(*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64))) (*.f64 a a) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))) a)
(* a (- (+ (* 1/6 (pow b 2)) (* (pow a 2) (+ (* -1/6 (- (* 1/6 (pow b 2)) 1)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (- (* 1/6 (pow b 2)) 1))) (* 1/120 (- (* 1/6 (pow b 2)) 1))))))) 1))
(*.f64 (fma.f64 (fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64))) (*.f64 a a) (*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) #s(literal -1/6 binary64))) (*.f64 a a) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64))) a)
(- (* (cos a) (cos b)) (* (sin a) (sin b)))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 b) (cos.f64 a)))
(cos a)
(cos.f64 a)
(sin (- (* 1/2 (PI)) (+ a b)))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b)))
(* b (* (sin a) (- (* 1/6 (pow b 2)) 1)))
(*.f64 (*.f64 (sin.f64 a) b) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)))
(* (sin a) (sin b))
(*.f64 (sin.f64 a) (sin.f64 b))
(cos (+ a b))
(cos.f64 (+.f64 a b))
(* -1 (* (sin a) (sin b)))
(*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))
(* (sin a) (- (* 1/6 (pow b 2)) 1))
(*.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 b b)) #s(literal 1 binary64)) (sin.f64 a))
(/ (* r (sin b)) (cos (- b (* -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/ (* 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)))
(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 (*.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 (+ (* 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 (sin.f64 a) (/.f64 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 (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 (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b) r)
(* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))
(*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) 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/2 (* b (cos a))) (sin a))))
(fma.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 a)) 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 #s(literal -1/2 binary64) (cos.f64 a))) b) (sin.f64 a)) b (cos.f64 a))
(/ (* b r) (sin (- (* 1/2 (PI)) a)))
(/.f64 (*.f64 b r) (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 (/.f64 (+.f64 (/.f64 (*.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) (*.f64 b r)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) 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 (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal 3 binary64))))) 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 (*.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) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal 3 binary64))))) (/.f64 (cos.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 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) (fma.f64 (/.f64 r (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a)) #s(literal 2 binary64)) r) (pow.f64 (neg.f64 (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))) #s(literal 3 binary64)))))) 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)
(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 b #s(literal -1/2 binary64)) (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)))
(* -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 (sin a))
(*.f64 (sin.f64 a) b)
(* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (sin.f64 a)) b)
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 (sin.f64 a) b))
(* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))
(fma.f64 (pow.f64 b #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 a) (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64))) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) (sin.f64 a))) (*.f64 (sin.f64 a) b))
(+ 1 (* -1/6 (pow b 2)))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* 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 #s(literal -1/120 binary64) (*.f64 b b) #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 (fma.f64 (*.f64 (sin.f64 a) (fma.f64 #s(literal 1/5040 binary64) (*.f64 b b) #s(literal -1/120 binary64))) (*.f64 b b) (*.f64 #s(literal 1/6 binary64) (sin.f64 a))) (*.f64 b b) (neg.f64 (sin.f64 a))) b)
(* -1 (sin a))
(neg.f64 (sin.f64 a))
(+ (* -1 (sin a)) (* 1/6 (* (pow b 2) (sin a))))
(*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(* 1/6 b)
(*.f64 #s(literal 1/6 binary64) b)
(sin b)
(sin.f64 b)
(* -1/6 (pow b 3))
(*.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64))
(* (pow b 3) (- (/ 1 (pow b 2)) 1/6))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) (pow.f64 b #s(literal 3 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 3) (sin a)))
(*.f64 (*.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal 1/6 binary64)) (sin.f64 a))
(* (pow b 3) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 a) (/.f64 (neg.f64 (sin.f64 a)) (*.f64 b b))) (pow.f64 b #s(literal 3 binary64)))
(* -1/6 (pow b 2))
(*.f64 (*.f64 b b) #s(literal -1/6 binary64))
(* (pow b 2) (- (/ 1 (pow b 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 b b)) #s(literal 1/6 binary64)) b) b)
(* 1/6 (* (pow b 2) (sin a)))
(*.f64 (*.f64 (*.f64 (sin.f64 a) b) b) #s(literal 1/6 binary64))
(* (pow b 2) (+ (* -1 (/ (sin a) (pow b 2))) (* 1/6 (sin a))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 a) (/.f64 (neg.f64 (sin.f64 a)) (*.f64 b b))) (*.f64 b b))
(/ (* r (sin b)) (cos (- a (* -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(* -1 (* (pow b 3) (- 1/6 (/ 1 (pow b 2)))))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 b b))))
(* -1 (* (pow b 3) (+ (* -1 (/ r (pow b 2))) (* 1/6 r))))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal 1/6 binary64) r (/.f64 (/.f64 (neg.f64 r) b) b)))
(/ (* 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 a) b))))
(sin (- (+ (* -1 b) (* 1/2 (PI))) a))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 a) b)))
(* -1 (* (pow b 3) (+ (* -1/6 (sin a)) (/ (sin a) (pow b 2)))))
(*.f64 (pow.f64 (neg.f64 b) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (sin.f64 a) (/.f64 (/.f64 (sin.f64 a) b) b)))
(cos (- a (* -1 b)))
(cos.f64 (+.f64 a b))

rewrite223.0ms (2.6%)

Memory
9.5MiB live, 140.6MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060272
096258
1316258
22269258
08333258
Stop Event
iter limit
node limit
iter limit
Counts
23 → 243
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (sin.f64 b))
(sin.f64 b)
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 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))
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b)
(/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b)
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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)) b) r))
(*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) 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 b) a)))))
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (-.f64 (neg.f64 b) a))))
(*.f64 (*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))) b)
(/.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 (sin.f64 a) (sin.f64 b))
#s(approx (cos (+ a b)) (cos.f64 b))
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(PI.f64)
#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 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(*.f64 #s(literal 1/6 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 (cos.f64 a) (cos.f64 b)) #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 a b)) (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 (-.f64 (neg.f64 (+.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) (neg.f64 (-.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 (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))) (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 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 b)) (sin.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 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))))
(/.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 (cos.f64 a) (cos.f64 b)) #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 a b)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.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 (-.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 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) (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))) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(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 (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 (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 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 a 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 b)) (sin.f64 a)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(sin.f64 (+.f64 (-.f64 a (neg.f64 b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(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 (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 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b) a))
(sin.f64 (+.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b)))
(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 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 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 a b)) (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 3 binary64)) (fma.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)))))
(-.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 (neg.f64 (neg.f64 (sin.f64 a))) (sin.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (-.f64 a (neg.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 (neg.f64 b) 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 (neg.f64 b) a))
(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 (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 (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 (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 b)) (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(*.f64 (/.f64 r #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))) b)
(*.f64 b (/.f64 r #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(*.f64 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(/.f64 (*.f64 (neg.f64 r) b) (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(/.f64 (*.f64 b (neg.f64 r)) (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (*.f64 b r)) (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(/.f64 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))
(/.f64 (neg.f64 (neg.f64 r)) (neg.f64 (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
(/.f64 (neg.f64 r) (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(/.f64 r #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))
(neg.f64 (/.f64 (neg.f64 r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
(neg.f64 (/.f64 r (neg.f64 #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)
(*.f64 b (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) b) (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) b) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))))
(/.f64 (*.f64 b (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 b (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))))
(fma.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) b (*.f64 #s(literal 1 binary64) b))
(fma.f64 #s(literal 1 binary64) b (*.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) b))
(fma.f64 b (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) (*.f64 b #s(literal 1 binary64)))
(fma.f64 b #s(literal 1 binary64) (*.f64 b (*.f64 (*.f64 b b) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) b) (*.f64 #s(literal 1 binary64) b))
(+.f64 (*.f64 #s(literal 1 binary64) b) (*.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) b))
(+.f64 (*.f64 b (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b #s(literal 1 binary64)))
(+.f64 (*.f64 b #s(literal 1 binary64)) (*.f64 b (*.f64 (*.f64 b b) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b) r)))) (neg.f64 (neg.f64 #s(approx (cos (+ a b)) (cos.f64 b)))))
(/.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b) r))) (neg.f64 #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)) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(neg.f64 (/.f64 (neg.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b) r))) #s(approx (cos (+ a b)) (cos.f64 b))))
(neg.f64 (/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b) r)) (neg.f64 #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)) b) r))
(*.f64 (*.f64 r (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))) b)
(*.f64 (*.f64 b r) (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b) r)
(*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))
(*.f64 b (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r))
(*.f64 r (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 b r)) (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) (*.f64 b r)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))))
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) r)
(*.f64 (sin.f64 b) (/.f64 r (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))))
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))))
(/.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 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a)))))))
(sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))
(*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) b) (sin.f64 a))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (sin.f64 a)) b)
(*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (*.f64 (sin.f64 a) b))
(*.f64 (sin.f64 a) (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) b))
(*.f64 b (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (sin.f64 a)))
(fma.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) b (*.f64 (neg.f64 (sin.f64 a)) b))
(fma.f64 b (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (*.f64 b (neg.f64 (sin.f64 a))))
(+.f64 (*.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) b) (*.f64 (neg.f64 (sin.f64 a)) b))
(+.f64 (*.f64 b (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b))) (*.f64 b (neg.f64 (sin.f64 a))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64)) (pow.f64 #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))) #s(literal 2 binary64)))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))))))
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 (pow.f64 #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 3 binary64)))) (fma.f64 #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))) (-.f64 #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))) (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(literal 2 binary64))))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))))) r)
(*.f64 (sin.f64 b) (/.f64 r (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))))))
(*.f64 r (/.f64 (sin.f64 b) (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))))))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (sin.f64 b))) (neg.f64 (neg.f64 (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))))))))
(/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (neg.f64 (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))))))
(neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (neg.f64 (fma.f64 (cos.f64 a) (cos.f64 b) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))))))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(/.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b)))) #s(literal -2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(-.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))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 b)) (neg.f64 b) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) b) (*.f64 b #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) b) b #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (neg.f64 b) (*.f64 (neg.f64 b) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 b b) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 b (*.f64 #s(literal -1/6 binary64) b) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) b)) b))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 b b)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) b) b))
(+.f64 (/.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))))) (pow.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 b b) #s(literal -1/6 binary64)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 (PI.f64)))) (neg.f64 (neg.f64 (sqrt.f64 (PI.f64)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 5 binary64))) (pow.f64 (PI.f64) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 4 binary64))) (cbrt.f64 (PI.f64)))
(*.f64 (sqrt.f64 (neg.f64 (PI.f64))) (sqrt.f64 (neg.f64 (PI.f64))))
(*.f64 (sqrt.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64))) (pow.f64 (PI.f64) #s(literal 1/4 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (PI.f64) #s(literal 5/2 binary64))) (cbrt.f64 (sqrt.f64 (PI.f64))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) (cbrt.f64 (PI.f64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (PI.f64))))
(*.f64 (cbrt.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64))) (cbrt.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (pow.f64 (PI.f64) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (sqrt.f64 (PI.f64))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (PI.f64) (cbrt.f64 (PI.f64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (PI.f64))))
(*.f64 (pow.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64)) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) #s(literal 3 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (PI.f64))) #s(literal 3 binary64)))
(*.f64 (pow.f64 (neg.f64 (sqrt.f64 (PI.f64))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sqrt.f64 (PI.f64))) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 (PI.f64))) (neg.f64 (sqrt.f64 (PI.f64))))
(*.f64 (pow.f64 (PI.f64) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (PI.f64) #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 (PI.f64)) (log.f64 (exp.f64 (sqrt.f64 (PI.f64)))))
(*.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 (PI.f64)))
(*.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (PI.f64) #s(literal 1/6 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)) (cbrt.f64 (PI.f64)))
(*.f64 (cbrt.f64 (PI.f64)) (sqrt.f64 (*.f64 (cbrt.f64 (PI.f64)) (PI.f64))))
(*.f64 (cbrt.f64 (PI.f64)) (log.f64 (exp.f64 (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)))))
(*.f64 (cbrt.f64 (PI.f64)) (pow.f64 (cbrt.f64 (PI.f64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (log.f64 (PI.f64)))
(pow.f64 (neg.f64 (sqrt.f64 (PI.f64))) #s(literal 2 binary64))
(pow.f64 (sqrt.f64 (PI.f64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (PI.f64) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (*.f64 (PI.f64) (PI.f64)) #s(literal 1/2 binary64))
(pow.f64 (cbrt.f64 (PI.f64)) #s(literal 3 binary64))
(pow.f64 (PI.f64) #s(literal 1 binary64))
(cbrt.f64 (pow.f64 (PI.f64) #s(literal 3 binary64)))
(sqrt.f64 (*.f64 (PI.f64) (PI.f64)))
(fabs.f64 (neg.f64 (PI.f64)))
(fabs.f64 (PI.f64))
(exp.f64 (/.f64 (log.f64 (*.f64 (PI.f64) (PI.f64))) #s(literal 2 binary64)))
(exp.f64 (/.f64 (*.f64 (log.f64 (PI.f64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (PI.f64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (PI.f64) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (PI.f64))) #s(literal 3 binary64)))
(exp.f64 (log.f64 (PI.f64)))
(+.f64 (cosh.f64 (log.f64 (PI.f64))) (sinh.f64 (log.f64 (PI.f64))))
(log.f64 (exp.f64 (PI.f64)))
(PI.f64)
#s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 b (sin.f64 a)) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)) (sin.f64 a))
(*.f64 (sin.f64 a) (fma.f64 (*.f64 #s(literal 1/6 binary64) b) b #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64)) (sin.f64 a)) (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal -1 binary64)) (sin.f64 a)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) #s(literal -1 binary64)))))
(/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64))) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) #s(literal -1 binary64)))
(/.f64 (*.f64 (sin.f64 a) (fma.f64 #s(literal 1/216 binary64) (pow.f64 b #s(literal 6 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 b #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) #s(literal -1 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) #s(literal 2 binary64)) (pow.f64 (sin.f64 a) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (neg.f64 (sin.f64 a))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) #s(literal 3 binary64)) (pow.f64 b #s(literal 6 binary64)) (pow.f64 (neg.f64 (sin.f64 a)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (neg.f64 (sin.f64 a))))))
(fma.f64 (*.f64 (sin.f64 a) (*.f64 #s(literal 1/6 binary64) b)) b (neg.f64 (sin.f64 a)))
(fma.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b) (neg.f64 (sin.f64 a)))
(fma.f64 (*.f64 (sin.f64 a) b) (*.f64 #s(literal 1/6 binary64) b) (neg.f64 (sin.f64 a)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) (sin.f64 a) (neg.f64 (sin.f64 a)))
(fma.f64 #s(literal -1 binary64) (sin.f64 a) (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) b) (*.f64 b (sin.f64 a)) (neg.f64 (sin.f64 a)))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 b b) (sin.f64 a)) (neg.f64 (sin.f64 a)))
(fma.f64 (sin.f64 a) (*.f64 (*.f64 #s(literal 1/6 binary64) b) b) (neg.f64 (sin.f64 a)))
(fma.f64 (sin.f64 a) #s(literal -1 binary64) (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)))
(fma.f64 b (*.f64 (*.f64 #s(literal 1/6 binary64) b) (sin.f64 a)) (neg.f64 (sin.f64 a)))
(-.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (*.f64 #s(literal 1 binary64) (sin.f64 a)))
(-.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (*.f64 (neg.f64 (sin.f64 a)) #s(literal -1 binary64)))
(+.f64 (neg.f64 (sin.f64 a)) (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)))
(+.f64 (*.f64 (*.f64 (sin.f64 a) #s(literal 1/6 binary64)) (*.f64 b b)) (neg.f64 (sin.f64 a)))
(*.f64 #s(literal 1/6 binary64) b)
(*.f64 b #s(literal 1/6 binary64))

eval113.0ms (1.3%)

Memory
17.6MiB live, 83.2MiB allocated; 36ms collecting garbage
Compiler

Compiled 11 357 to 1 800 computations (84.2% saved)

prune124.0ms (1.4%)

Memory
-37.7MiB live, 101.7MiB allocated; 7ms collecting garbage
Pruning

61 alts after pruning (51 fresh and 10 done)

PrunedKeptTotal
New36312375
Fresh93948
Picked145
Done066
Total37361434
Accuracy
99.8%
Counts
434 → 61
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))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.6%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
59.3%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
63.1%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #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))))))))
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))))
61.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 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) a))))
66.4%
(/.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)))))
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.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
61.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a))))
66.4%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
18.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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)))))
32.7%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
34.8%
(/.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 b) a)))))
15.0%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 b))))
15.4%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (neg.f64 a))))
76.9%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
45.6%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
59.9%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (sin a) (sin b))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b))))
48.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (cos.f64 a)))
34.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
33.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
61.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 b)))
44.1%
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) 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))))
43.1%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) 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))))
43.8%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
28.8%
(/.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)) (cos.f64 b)))
29.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
29.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)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
43.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
43.9%
(/.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 a b))))
29.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
29.1%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
12.0%
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
12.0%
(/.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)))
43.9%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
15.3%
(/.f64 #s(approx (* r (sin b)) #s(approx (* (* (+ (* (* b b) -1/6) 1) r) b) (*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) (pow.f64 b #s(literal 3 binary64))))) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
76.8%
(*.f64 (/.f64 (*.f64 (sin.f64 b) r) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b)))) (cos.f64 (-.f64 b a)))
76.8%
(*.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))))
34.8%
(*.f64 (/.f64 (sin.f64 b) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) r)
76.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
61.7%
(*.f64 (/.f64 (sin.f64 b) #s(approx (cos (+ a b)) (cos.f64 b))) r)
43.7%
(*.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)) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
43.8%
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
43.8%
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.f64 a b)))
61.7%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (cos (+ a b)) (cos.f64 b))))
29.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))))
29.2%
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) (cos.f64 a)))
28.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
29.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) a))) b))
29.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))
44.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
28.2%
#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))
28.3%
#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))
28.2%
#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))
43.9%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
28.2%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
29.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (/ r (cos a)) b) (*.f64 b r)))
Compiler

Compiled 3 730 to 1 527 computations (59.1% saved)

regimes114.0ms (1.3%)

Memory
-4.7MiB live, 49.5MiB allocated; 3ms collecting garbage
Counts
89 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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 (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (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 r (cos.f64 (+.f64 a b))) (sin.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 (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(/.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 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) 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 b) a)))))
(/.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 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
(/.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 (+ (* (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 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (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)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) 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 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.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 (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 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
(*.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 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(/.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 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) 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 #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 (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.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 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.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)) (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))))
(*.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.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))))
(/.f64 #s(approx (* r (sin b)) #s(approx (* (* (+ (* (* b b) -1/6) 1) r) b) (*.f64 (fma.f64 #s(literal -1/6 binary64) r (/.f64 r (*.f64 b b))) (pow.f64 b #s(literal 3 binary64))))) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.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 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #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))))))))
(*.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)) (+.f64 (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)))) (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cos.f64 (-.f64 a b)) (pow.f64 (*.f64 (sin.f64 a) (sin.f64 b)) #s(literal 2 binary64))))
(*.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 (+.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)))))))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
Calls

4 calls:

22.0ms
r
21.0ms
a
21.0ms
b
21.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a 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)

regimes95.0ms (1.1%)

Memory
45.5MiB live, 88.0MiB allocated; 8ms collecting garbage
Counts
81 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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 (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (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 r (cos.f64 (+.f64 a b))) (sin.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 (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(/.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 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) 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 b) a)))))
(/.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 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
(/.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 (+ (* (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 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (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)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) 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 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.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 (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 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
(*.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 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(/.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 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) 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 #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 (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.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 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.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)) (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))))
(*.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b))))
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:

32.0ms
r
20.0ms
b
20.0ms
a
20.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a 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)

regimes140.0ms (1.6%)

Memory
-35.6MiB live, 110.2MiB allocated; 11ms collecting garbage
Counts
80 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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 (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (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 r (cos.f64 (+.f64 a b))) (sin.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 (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(/.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 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) 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 b) a)))))
(/.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 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
(/.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 (+ (* (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 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (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)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) 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 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.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 (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 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
(*.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 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(/.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 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) 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 #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 (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.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 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.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)) (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))))
(*.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
Calls

4 calls:

43.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
43.0ms
a
31.0ms
b
19.0ms
r
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)

regimes113.0ms (1.3%)

Memory
9.7MiB live, 103.1MiB allocated; 3ms collecting garbage
Counts
79 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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 (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (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 r (cos.f64 (+.f64 a b))) (sin.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 (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (sin (+ (+ (/ (PI) 2) b) a)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(/.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 #s(literal 1/2 binary64) (PI.f64) (-.f64 (neg.f64 b) a))))) 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 b) a)))))
(/.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 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (- (neg b) a) (/ (PI) 2)) (fma.f64 (/.f64 (-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) a) b) b (neg.f64 b)))))
(/.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 (+ (* (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 (*.f64 r (sin.f64 b)) #s(approx (- (* (cos b) (cos a)) (* (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)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a))))
(*.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)) (*.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) (cos.f64 (-.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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) #s(literal -1/2 binary64)) b) (sin.f64 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)) (fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) b (cos.f64 a))))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) 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 #s(approx (* r (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) r) b)) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))) (sin.f64 (-.f64 a (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.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 (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 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
(*.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 r (sin.f64 b)) #s(approx (+ (* (sin b) (neg (sin a))) (* (cos b) (cos a))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) a) (cos.f64 b) (neg.f64 (sin.f64 b))) a (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) #s(approx (* (cos b) (cos a)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)) (cos.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(/.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 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) #s(approx (* (neg (sin a)) (sin b)) (*.f64 (*.f64 (sin.f64 b) (fma.f64 (*.f64 #s(literal 1/6 binary64) a) a #s(literal -1 binary64))) 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)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) #s(approx (* (sin a) (sin b)) (*.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) (sin.f64 b)) a))))
(/.f64 (*.f64 r #s(approx (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) 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 #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 (sin b) (fma.f64 (pow.f64 b #s(literal 3 binary64)) #s(literal -1/6 binary64) b)) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.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 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 r (fma.f64 (*.f64 #s(literal 1/120 binary64) b) b #s(literal -1/6 binary64))) (*.f64 b b) r) b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.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)) (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))))
(*.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) #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))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (/.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)))))
Outputs
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
Calls

4 calls:

43.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
28.0ms
a
19.0ms
r
19.0ms
b
Results
AccuracySegmentsBranch
76.9%1a
76.9%1b
76.9%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
76.9%1r
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes48.0ms (0.6%)

Memory
4.2MiB live, 51.5MiB allocated; 1ms collecting garbage
Counts
34 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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 (+ (* (cos b) (cos a)) (* (neg (sin a)) (sin b))) (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 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
Calls

4 calls:

19.0ms
r
9.0ms
b
9.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
9.0ms
a
Results
AccuracySegmentsBranch
61.7%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
65.4%2r
76.9%3a
76.6%3b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes17.0ms (0.2%)

Memory
22.8MiB live, 22.8MiB 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
#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)
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

2 calls:

8.0ms
a
8.0ms
b
Results
AccuracySegmentsBranch
76.6%3b
75.2%3a
Compiler

Compiled 2 to 6 computations (-200% saved)

regimes42.0ms (0.5%)

Memory
-10.7MiB live, 40.0MiB allocated; 4ms collecting garbage
Counts
26 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) #s(literal 1 binary64)) r) b)) #s(approx (cos (+ a b)) (cos.f64 b)))
#s(approx (/ (* r (sin b)) (sin (+ (+ (/ (PI) 2) b) a))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#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)) (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)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* -1/6 (* b b)) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) b) r)) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (*.f64 #s(approx (+ (* (* b b) -1/6) 1) (*.f64 (*.f64 b b) #s(literal -1/6 binary64))) r) 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 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) b) r)) #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 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 b b) #s(literal 1 binary64)) (*.f64 b r))) #s(approx (cos (+ a b)) (cos.f64 b)))
(/.f64 #s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 b r))) #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 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)) #s(approx (cos (+ a b)) (cos.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 (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) r) b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (/.f64 (PI.f64) #s(literal 2 binary64)))))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
Calls

4 calls:

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

Compiled 12 to 17 computations (-41.7% saved)

regimes42.0ms (0.5%)

Memory
-30.3MiB live, 17.2MiB allocated; 1ms collecting garbage
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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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))))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 r (/.f64 b (cos.f64 a))))
Calls

4 calls:

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

Compiled 12 to 17 computations (-41.7% saved)

regimes10.0ms (0.1%)

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

Total -1.1b remaining (-2.5%)

Threshold costs -1.1b (-2.5%)

Counts
6 → 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 r (/.f64 b #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64))))))
#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 (*.f64 b r) #s(approx (cos a) (fma.f64 #s(literal -1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))))
#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
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
2.0ms
b
2.0ms
a
2.0ms
r
Results
AccuracySegmentsBranch
29.3%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
29.3%1a
29.3%1r
29.3%1b
Compiler

Compiled 12 to 17 computations (-41.7% saved)

bsearch52.0ms (0.6%)

Memory
-8.7MiB live, 84.3MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
396342.44804220623
347861523.78222895
23.0ms
-1.6873073000360493e+44
-1.2844271586304132e+42
Samples
34.0ms200×1valid
5.0ms40×0valid
Compiler

Compiled 447 to 389 computations (13% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-cos: 9.0ms (29.4% of total)
ival-sin: 8.0ms (26.1% of total)
adjust: 5.0ms (16.3% of total)
ival-mult: 3.0ms (9.8% of total)
ival-add: 2.0ms (6.5% of total)
ival-div: 2.0ms (6.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

bsearch46.0ms (0.5%)

Memory
15.2MiB live, 65.2MiB allocated; 13ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
3726.5348399687214
419393.5159274148
18.0ms
-554.052860180147
-0.2679945000916397
Samples
18.0ms145×0valid
15.0ms95×1valid
Compiler

Compiled 642 to 479 computations (25.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-sin: 11.0ms (43.4% of total)
ival-cos: 7.0ms (27.6% of total)
ival-add: 2.0ms (7.9% of total)
ival-div: 2.0ms (7.9% of total)
adjust: 2.0ms (7.9% of total)
ival-mult: 2.0ms (7.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

simplify43.0ms (0.5%)

Memory
-6.9MiB live, 40.2MiB allocated; 3ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065198
197198
2128198
3158198
4173198
5219198
6576198
73736198
Stop Event
node 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 (*.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)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(if (<=.f64 a #s(literal -1299999999999999950031673044027917767540736 binary64)) (/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a))) (if (<=.f64 a #s(literal 400000 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))))
(if (<=.f64 b #s(literal -607985949695017/2251799813685248 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (if (<=.f64 b #s(literal 3800 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)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.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 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 b) (cos.f64 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)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(if (<=.f64 a #s(literal -1299999999999999950031673044027917767540736 binary64)) (/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a))) (if (<=.f64 a #s(literal 400000 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))))
(if (or (<=.f64 a #s(literal -1299999999999999950031673044027917767540736 binary64)) (not (<=.f64 a #s(literal 400000 binary64)))) (/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a))) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))))
(if (<=.f64 b #s(literal -607985949695017/2251799813685248 binary64)) #s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (if (<=.f64 b #s(literal 3800 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 -607985949695017/2251799813685248 binary64)) (not (<=.f64 b #s(literal 3800 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))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.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)))

derivations831.0ms (9.7%)

Memory
18.3MiB live, 761.3MiB allocated; 172ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037163
063167
1231139
21721139
09252139
0167593
1569562
22016518
37405515
09145482
04471971
115731864
262301822
085281726
0819
01319
14619
226619
3285319
0828619
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 198 to 67 computations (66.2% saved)

preprocess97.0ms (1.1%)

Memory
23.5MiB live, 161.3MiB allocated; 54ms collecting garbage
Remove

(negabs r)

Compiler

Compiled 446 to 174 computations (61% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...