rsin A (should all be same)

Time bar (total: 4.3s)

start0.0ms (0%)

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

analyze291.0ms (6.7%)

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

Compiled 11 to 10 computations (9.1% saved)

sample1.7s (38.2%)

Memory
64.6MiB live, 1 368.7MiB allocated; 854ms collecting garbage
Samples
1.2s6 013×1valid
140.0ms2 243×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.1s
ival-cos: 318.0ms (29.1% of total)
ival-mult!: 308.0ms (28.2% of total)
ival-sin: 204.0ms (18.6% of total)
adjust: 164.0ms (15% of total)
ival-div!: 56.0ms (5.1% of total)
ival-add!: 45.0ms (4.1% of total)
Bogosity

preprocess65.0ms (1.5%)

Memory
-29.2MiB live, 58.6MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03895
117893
Stop Event
iter-limit
iter-limit
unsound
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.8%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Symmetry

(negabs r)

Compiler

Compiled 16 to 16 computations (0% saved)

series15.0ms (0.4%)

Memory
22.9MiB live, 22.9MiB allocated; 0ms collecting garbage
Counts
8 → 39
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
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* r (sin b)) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos b)))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx a #s(hole binary64 a))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b r)))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos a)))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Calls

9 calls:

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

rewrite228.0ms (5.3%)

Memory
-18.7MiB live, 126.3MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0225925
0232881
11545775
27610761
08374723
120041723
Stop Event
saturated
node-limit
iter-limit
Counts
47 → 94
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
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* r (sin b)) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos b)))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx a #s(hole binary64 a))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b r)))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos a)))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
(*.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (/.f64 #s(literal 1 binary64) (neg.f64 (cos.f64 (+.f64 a b)))))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (*.f64 (sin.f64 b) r) #s(literal 1 binary64)) (cos.f64 (+.f64 a b)))
(/.f64 (neg.f64 (*.f64 (neg.f64 r) (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 (*.f64 (sin.f64 b) r) (neg.f64 (cos.f64 (+.f64 a b)))))
(neg.f64 (/.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (cos.f64 (+.f64 a b))))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(neg.f64 (neg.f64 (cos.f64 (+.f64 a b))))
(sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 a b)) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(fma.f64 (sin.f64 (+.f64 a b)) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (sin.f64 a) (neg.f64 (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 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) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.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)) (neg.f64 (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.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 (fabs.f64 (+.f64 a b))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 a b))))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (fabs.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (sin.f64 (+.f64 a b)) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))
(+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(neg.f64 (-.f64 (neg.f64 b) a))
(-.f64 a (neg.f64 b))
(-.f64 b (neg.f64 a))
(+.f64 a b)
(+.f64 b a)
a
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* r (sin b)) (*.f64 (sin.f64 b) r))
#s(approx r r)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (*.f64 a r) (*.f64 (tan.f64 b) (tan.f64 b)) (*.f64 (tan.f64 b) r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (fma.f64 (*.f64 (tan.f64 b) (tan.f64 b)) r (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) r) (tan.f64 b) (*.f64 (pow.f64 (tan.f64 b) #s(literal 3 binary64)) r)) a)) a (*.f64 (tan.f64 b) r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (tan.f64 b) r (*.f64 (fma.f64 (*.f64 (tan.f64 b) (tan.f64 b)) r (*.f64 (fma.f64 (neg.f64 a) (fma.f64 (-.f64 (*.f64 r (*.f64 (tan.f64 b) #s(literal -1/2 binary64))) (*.f64 (pow.f64 (tan.f64 b) #s(literal 3 binary64)) r)) (tan.f64 b) (*.f64 (*.f64 (*.f64 (tan.f64 b) (tan.f64 b)) r) #s(literal -1/3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) r) (tan.f64 b) (*.f64 (pow.f64 (tan.f64 b) #s(literal 3 binary64)) r))) a)) a)))
#s(approx (cos (+ a b)) (cos.f64 b))
#s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a)))
#s(approx (cos (+ a b)) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b)))
#s(approx (cos (+ a b)) (fma.f64 a (-.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)) (cos.f64 b)))
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 a b))
#s(approx a a)
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (fma.f64 (/.f64 b a) a a))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (fma.f64 (/.f64 b a) a 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 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64)) (neg.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64)) (neg.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) (tan.f64 a)))) b (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) b (/.f64 r (cos.f64 a))) b))
#s(approx (* r (sin b)) (*.f64 b r))
#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 (*.f64 r (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64))) (*.f64 b b) r) b))
#s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 r (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64))) (*.f64 b b) (*.f64 #s(literal -1/6 binary64) r)) b) b r) b))
#s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 b b) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 b b) #s(literal 1/120 binary64)) (*.f64 b b) #s(literal -1/6 binary64)) b) b #s(literal 1 binary64)) b))
#s(approx (cos (+ a b)) (cos.f64 a))
#s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
#s(approx (cos (+ a b)) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a)))
#s(approx (cos (+ a b)) (fma.f64 b (-.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)) (cos.f64 a)))
#s(approx (sin b) (sin.f64 b))
#s(approx (+ a b) (fma.f64 (/.f64 a b) b b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (fma.f64 (/.f64 a b) b b))

eval9.0ms (0.2%)

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

Compiled 732 to 320 computations (56.3% saved)

prune15.0ms (0.3%)

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

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New582381
Fresh000
Picked101
Done000
Total592382
Accuracy
99.8%
Counts
82 → 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 a) (cos.f64 b))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
43.3%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
42.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
65.7%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) (fma.f64 (/.f64 a b) b b))))
62.0%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) b)))
57.3%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a))))
58.8%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
60.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
56.0%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
56.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
78.8%
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
78.9%
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
78.9%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64)) (neg.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) (tan.f64 a)))) b (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) b (/.f64 r (cos.f64 a))) b))
57.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (fma.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64)) (neg.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) b (/.f64 r (cos.f64 a))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
62.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
Compiler

Compiled 690 to 622 computations (9.9% saved)

series103.0ms (2.4%)

Memory
5.4MiB live, 101.2MiB allocated; 13ms collecting garbage
Counts
30 → 131
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 a)
a
(cos.f64 b)
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
(*.f64 (tan.f64 b) r)
(tan.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))
(PI.f64)
#s(literal 1/2 binary64)
(+.f64 a b)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
(*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b)
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
(tan.f64 a)
Outputs
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* r (sin b)) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (tan b) r) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (+ a (+ b (* 1/2 (PI))))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ r (cos a)) #s(hole binary64 (/ r (cos a))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (cos b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx a #s(hole binary64 a))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* -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))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* 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))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* 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))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ b (* 1/2 (PI))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ b (* 1/2 (PI)))) (* a (cos (+ b (* 1/2 (PI))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* -1/2 (* a (sin (+ b (* 1/2 (PI)))))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ b (* 1/2 (PI)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ a (+ b (* 1/2 (PI))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 1/2 (* (pow a 2) (* b r))) (* b r))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 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)))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* 1/2 (* (pow a 2) r)))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ 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))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* 1/3 (pow a 2))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* 2/15 (pow a 2))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* (pow a 2) (+ 2/15 (* 17/315 (pow a 2))))))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ a (+ b (* 1/2 (PI)))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* a (+ 1 (+ (* 1/2 (/ (PI) a)) (/ b a))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (tan a) #s(hole binary64 (/ (sin a) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ b (* 1/2 (PI))) (* -1 a))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (- (+ b (* 1/2 (PI))) (* -1 a)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ b (* 1/2 (PI))) a)) 1)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* 1/3 (* (pow b 2) r))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* 2/15 (* (pow b 2) r)) (* 1/3 r)))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* 1/3 r) (* (pow b 2) (+ (* 17/315 (* (pow b 2) r)) (* 2/15 r)))))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* 1/3 (pow b 2))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (+ 1/3 (* 2/15 (pow b 2))))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (+ 1/3 (* (pow b 2) (+ 2/15 (* 17/315 (pow b 2))))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* b r) (sin (+ a (* 1/2 (PI)))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* b (+ (* -1 (/ (* b (* r (cos (+ a (* 1/2 (PI)))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ r (sin (+ a (* 1/2 (PI)))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* 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)))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* 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)))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ a (* 1/2 (PI))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ a (* 1/2 (PI)))) (* b (cos (+ a (* 1/2 (PI))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* -1/2 (* b (sin (+ a (* 1/2 (PI)))))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ a (* 1/2 (PI)))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (tan b) #s(hole binary64 (/ (sin b) (cos b))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* b (+ 1 (+ (* 1/2 (/ (PI) b)) (/ a b))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ a (* 1/2 (PI))) (* -1 b))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (- (+ a (* 1/2 (PI))) (* -1 b)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ a (* 1/2 (PI))) b)) 1)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
Calls

9 calls:

TimeVariablePointExpression
39.0ms
r
@inf
((/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* r (sin b)) r (sin b) b (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (tan b) r) (tan b) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (sin (+ (* (PI) 1/2) (+ a b))) (+ (* (PI) 1/2) (+ a b)) (PI) 1/2 (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (* (/ r (cos a)) b) (/ r (cos a)) (tan a))
13.0ms
a
@-inf
((/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* r (sin b)) r (sin b) b (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (tan b) r) (tan b) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (sin (+ (* (PI) 1/2) (+ a b))) (+ (* (PI) 1/2) (+ a b)) (PI) 1/2 (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (* (/ r (cos a)) b) (/ r (cos a)) (tan a))
12.0ms
b
@0
((/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* r (sin b)) r (sin b) b (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (tan b) r) (tan b) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (sin (+ (* (PI) 1/2) (+ a b))) (+ (* (PI) 1/2) (+ a b)) (PI) 1/2 (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (* (/ r (cos a)) b) (/ r (cos a)) (tan a))
8.0ms
r
@0
((/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* r (sin b)) r (sin b) b (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (tan b) r) (tan b) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (sin (+ (* (PI) 1/2) (+ a b))) (+ (* (PI) 1/2) (+ a b)) (PI) 1/2 (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (* (/ r (cos a)) b) (/ r (cos a)) (tan a))
7.0ms
r
@-inf
((/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* r (sin b)) r (sin b) b (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (tan b) r) (tan b) (/ (* r (sin b)) (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (sin (+ (* (PI) 1/2) (+ a b))) (+ (* (PI) 1/2) (+ a b)) (PI) 1/2 (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (* (/ r (cos a)) b) (/ r (cos a)) (tan a))

rewrite204.0ms (4.7%)

Memory
3.3MiB live, 138.1MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07513904
07923610
053353374
1124183374
Stop Event
saturated
iter-limit
node-limit
iter-limit
Counts
161 → 240
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 a)
a
(cos.f64 b)
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
(*.f64 (tan.f64 b) r)
(tan.f64 b)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))
(PI.f64)
#s(literal 1/2 binary64)
(+.f64 a b)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
(*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b)
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
(tan.f64 a)
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* r (sin b)) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (tan b) r) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (+ a (+ b (* 1/2 (PI))))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ r (cos a)) #s(hole binary64 (/ r (cos a))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (cos b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx a #s(hole binary64 a))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (+ b (* 1/2 (PI)))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* -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))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* 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))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (+ (* 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))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ b (* 1/2 (PI))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ b (* 1/2 (PI)))) (* a (cos (+ b (* 1/2 (PI))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ b (* 1/2 (PI)))) (* a (+ (cos (+ b (* 1/2 (PI)))) (* -1/2 (* a (sin (+ b (* 1/2 (PI)))))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ b (* 1/2 (PI)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ a (+ b (* 1/2 (PI))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 1/2 (* (pow a 2) (* b r))) (* b r))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 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)))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* 1/2 (* (pow a 2) r)))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ 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))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* 1/3 (pow a 2))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* 2/15 (pow a 2))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* (pow a 2) (+ 2/15 (* 17/315 (pow a 2))))))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ a (+ b (* 1/2 (PI)))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* a (+ 1 (+ (* 1/2 (/ (PI) a)) (/ b a))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (tan a) #s(hole binary64 (/ (sin a) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ b (* 1/2 (PI))) (* -1 a))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (- (+ b (* 1/2 (PI))) (* -1 a)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* -1 (* a (- (* -1 (/ (+ b (* 1/2 (PI))) a)) 1)))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* r (sin b)) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* 1/3 (* (pow b 2) r))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* 2/15 (* (pow b 2) r)) (* 1/3 r)))))))
#s(approx (* (tan b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* 1/3 r) (* (pow b 2) (+ (* 17/315 (* (pow b 2) r)) (* 2/15 r)))))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* 1/3 (pow b 2))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (+ 1/3 (* 2/15 (pow b 2))))))))
#s(approx (tan b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (+ 1/3 (* (pow b 2) (+ 2/15 (* 17/315 (pow b 2))))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* b r) (sin (+ a (* 1/2 (PI)))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* b (+ (* -1 (/ (* b (* r (cos (+ a (* 1/2 (PI)))))) (pow (sin (+ a (* 1/2 (PI)))) 2))) (/ r (sin (+ a (* 1/2 (PI)))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* 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)))))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (* 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)))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (+ a (* 1/2 (PI))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ a (* 1/2 (PI)))) (* b (cos (+ a (* 1/2 (PI))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (sin (+ a (* 1/2 (PI)))) (* b (+ (cos (+ a (* 1/2 (PI)))) (* -1/2 (* b (sin (+ a (* 1/2 (PI)))))))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (+ (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)))))))))))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (+ a (* 1/2 (PI)))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (tan b) #s(hole binary64 (/ (sin b) (cos b))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* b (+ 1 (+ (* 1/2 (/ (PI) b)) (/ a b))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ a (* 1/2 (PI))) (* -1 b))))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) #s(hole binary64 (sin (- (+ a (* 1/2 (PI))) (* -1 b)))))
#s(approx (+ (* (PI) 1/2) (+ a b)) #s(hole binary64 (* -1 (* b (- (* -1 (/ (+ a (* 1/2 (PI))) b)) 1)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
Outputs
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
r
(sin.f64 b)
b
(neg.f64 (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
(sin.f64 (+.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 b))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (fabs.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 b))))
(*.f64 (cos.f64 b) (cos.f64 a))
(*.f64 (cos.f64 a) (cos.f64 b))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b))) #s(literal 2 binary64))
(sin.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 a))
(cos.f64 (fabs.f64 a))
(cos.f64 a)
a
(sin.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (fabs.f64 b))
(cos.f64 (neg.f64 b))
(cos.f64 b)
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(/.f64 (-.f64 (cos.f64 (-.f64 a b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
(*.f64 (tan.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 b)))
(*.f64 r (tan.f64 b))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (sin.f64 b) (/.f64 #s(literal 1 binary64) (cos.f64 b)))
(/.f64 (neg.f64 (sin.f64 b)) (neg.f64 (cos.f64 b)))
(/.f64 (sin.f64 b) (cos.f64 b))
(tan.f64 (+.f64 b (PI.f64)))
(tan.f64 b)
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 #s(approx (+ a b) b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(sin.f64 (+.f64 #s(approx (+ a b) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 #s(approx (+ a b) b)))
(cos.f64 (fabs.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
(fma.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (cos.f64 (+.f64 a b)) (*.f64 (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (sin.f64 (+.f64 a b))))
(fma.f64 (sin.f64 a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (cos.f64 a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(+.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (cos.f64 (+.f64 a b))) (*.f64 (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (sin.f64 (+.f64 a b))))
(+.f64 (*.f64 (sin.f64 a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (*.f64 (cos.f64 a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (+.f64 a b))
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 (+.f64 a b)))
(-.f64 a (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
(+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) b)
(+.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b) a)
(+.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (+.f64 a b))
(+.f64 (+.f64 a b) (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(+.f64 a (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))
(PI.f64)
#s(literal 1/2 binary64)
(neg.f64 (-.f64 (neg.f64 b) a))
(-.f64 a (neg.f64 b))
(+.f64 a (*.f64 #s(literal 1 binary64) b))
(+.f64 a (neg.f64 (neg.f64 b)))
(+.f64 a b)
(+.f64 b a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))) b))
(*.f64 (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))) b)
(*.f64 b (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))))
(fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a)))
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a)))
(fma.f64 (/.f64 r (cos.f64 a)) (*.f64 b (tan.f64 a)) (/.f64 r (cos.f64 a)))
(fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(-.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) (neg.f64 (/.f64 r (cos.f64 a))))
(+.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) (/.f64 r (cos.f64 a)))
(+.f64 (/.f64 r (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(*.f64 (*.f64 b r) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(/.f64 (neg.f64 (*.f64 b r)) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 a)))
(/.f64 r (cos.f64 a))
(*.f64 (sin.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(/.f64 (neg.f64 (sin.f64 a)) (neg.f64 (cos.f64 a)))
(/.f64 (sin.f64 a) (cos.f64 a))
(tan.f64 (+.f64 a (PI.f64)))
(tan.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* r (sin b)) (*.f64 (sin.f64 b) r))
#s(approx r r)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (tan b) r) (*.f64 (tan.f64 b) r))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (*.f64 b r) (fma.f64 b (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (fma.f64 b (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r))
#s(approx (* (/ r (cos a)) b) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ r (cos a)) (/.f64 r (cos.f64 a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (neg.f64 (*.f64 (*.f64 b r) (neg.f64 (fma.f64 b (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (neg.f64 (*.f64 (neg.f64 (fma.f64 b (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))) r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (tan.f64 b) r (/.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) a) (pow.f64 (cos.f64 b) #s(literal 2 binary64)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal -1/2 binary64) (*.f64 (tan.f64 b) r) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))) a (*.f64 (tan.f64 b) r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))) #s(literal -1/2 binary64) (fma.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))) (/.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (tan.f64 b) r) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) (sin.f64 b)) (cos.f64 b)))) a)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (tan.f64 b) r) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) a) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 2 binary64))))) a (*.f64 (tan.f64 b) r)))
#s(approx (cos (+ a b)) (cos.f64 b))
#s(approx (cos (+ a b)) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b)))
#s(approx (cos (+ a b)) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b)))
#s(approx (cos (+ a b)) (fma.f64 a (-.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)) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (*.f64 (*.f64 a a) #s(literal -1/2 binary64)) (cos.f64 b) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal 1/24 binary64) (cos.f64 b))) (*.f64 a a) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (cos a) #s(literal 1 binary64))
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx a a)
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 a a)) (sin.f64 b) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 a a) (sin.f64 b)) #s(literal 1/120 binary64) (*.f64 (sin.f64 b) #s(literal -1/6 binary64))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 b) (*.f64 (fma.f64 #s(literal 1/120 binary64) (sin.f64 b) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 a a)) (sin.f64 b))) (*.f64 a a))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64)) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 a b))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (fma.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (neg.f64 (/.f64 (*.f64 (*.f64 (*.f64 r (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (sin.f64 b)) a) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64))))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64) (neg.f64 (*.f64 r (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 3 binary64))))))) (/.f64 (*.f64 (*.f64 r (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (sin.f64 b)) (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)))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 r (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (sin.f64 b)) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64))) #s(literal 1/3 binary64) (neg.f64 (/.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64) (neg.f64 (*.f64 r (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.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))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))) a)) (fma.f64 (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) #s(literal -1/2 binary64) (neg.f64 (*.f64 r (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 2 binary64)) (sin.f64 b)) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal 3 binary64))))))) a) (/.f64 (*.f64 (*.f64 r (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (sin.f64 b)) (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)))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (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))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (fma.f64 a (fma.f64 (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) a) #s(literal -1/2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (fma.f64 (fma.f64 a (fma.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) a) #s(literal -1/6 binary64) (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) #s(literal -1/2 binary64))) (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))))
#s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))
#s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (*.f64 (*.f64 b r) a) #s(literal 1/2 binary64) (*.f64 (*.f64 b b) r)) a (*.f64 b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 b r) #s(literal 5/6 binary64)) b) a (*.f64 (*.f64 b r) #s(literal 1/2 binary64))) a (*.f64 (*.f64 b b) r)) a (*.f64 b r)))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (fma.f64 (*.f64 a r) #s(literal 1/2 binary64) (*.f64 b r)) a r))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b r) #s(literal 5/6 binary64)) a (*.f64 #s(literal 1/2 binary64) r)) a (*.f64 b r)) a r))
#s(approx (* (/ r (cos a)) b) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 a a)) (*.f64 b r) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (fma.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 b r) #s(literal -5/24 binary64)) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) (*.f64 b r))) (*.f64 a a) (*.f64 b r)))
#s(approx (* (/ r (cos a)) b) (fma.f64 (fma.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 b r) (fma.f64 #s(literal 1/48 binary64) (*.f64 b r) (*.f64 (*.f64 (*.f64 b r) #s(literal -5/24 binary64)) #s(literal 1/2 binary64)))) (*.f64 a a))) (*.f64 (*.f64 b r) #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 (*.f64 b r) #s(literal 1/2 binary64))) (*.f64 a a) (*.f64 b r)))
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
#s(approx (/ r (cos a)) (fma.f64 (-.f64 (neg.f64 (*.f64 (*.f64 r #s(literal -5/24 binary64)) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) r)) (*.f64 a a) r))
#s(approx (/ r (cos a)) (fma.f64 (fma.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) r (fma.f64 (*.f64 r #s(literal -5/24 binary64)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/48 binary64) r))) (*.f64 a a))) (*.f64 r #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r))
#s(approx (tan a) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (tan a) (*.f64 (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 a a) #s(literal 1/3 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (tan a) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/315 binary64) (*.f64 a a) #s(literal 2/15 binary64)) (*.f64 a a) #s(literal 1/3 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (* (cos a) (cos b)) (*.f64 (cos.f64 b) (cos.f64 a)))
#s(approx (cos a) (cos.f64 a))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) (sin.f64 b)))
#s(approx (sin a) (sin.f64 a))
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 b a) #s(literal 1 binary64)) a))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
#s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (+.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b) a) #s(literal 1 binary64)) a))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 r (cos.f64 a))) b))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 b (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 r (cos.f64 a))))
#s(approx (tan a) (tan.f64 a))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (neg.f64 a)))))
#s(approx (cos (+ a b)) (cos.f64 (-.f64 b (neg.f64 a))))
#s(approx (+ a b) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) a) #s(literal 1 binary64))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b) (neg.f64 a)))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (sin.f64 (-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b) (neg.f64 a))))
#s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (neg.f64 a) (-.f64 (neg.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b) a)) #s(literal 1 binary64))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) (sin.f64 a)) (cos.f64 a)))) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 a) #s(literal 2 binary64)) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))))) b) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (* r (sin b)) (*.f64 (fma.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64) r) b))
#s(approx (* r (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) r) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (* r (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) (fma.f64 (*.f64 (*.f64 b b) r) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) r)) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 b b) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (cos (+ a b)) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a)))
#s(approx (cos (+ a b)) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a)))
#s(approx (cos (+ a b)) (fma.f64 b (-.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)) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/2 binary64)) (cos.f64 a) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) (cos.f64 a) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/720 binary64)) (cos.f64 a) (*.f64 #s(literal 1/24 binary64) (cos.f64 a))) (*.f64 b b) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) (*.f64 b b) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/6 binary64) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal 1/120 binary64) (*.f64 (sin.f64 a) #s(literal -1/6 binary64))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 a) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 a) #s(literal 1/120 binary64))) (*.f64 b b))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* (tan b) r) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 (*.f64 b b) r) r) b))
#s(approx (* (tan b) r) (*.f64 (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 (*.f64 b b) r) (*.f64 #s(literal 1/3 binary64) r)) (*.f64 b b) r) b))
#s(approx (* (tan b) r) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) (fma.f64 #s(literal 17/315 binary64) (*.f64 (*.f64 b b) r) (*.f64 #s(literal 2/15 binary64) r)) (*.f64 #s(literal 1/3 binary64) r)) (*.f64 b b) r) b))
#s(approx (tan b) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (tan b) (*.f64 (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 b b) #s(literal 1/3 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (tan b) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/315 binary64) (*.f64 b b) #s(literal 2/15 binary64)) (*.f64 b b) #s(literal 1/3 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (*.f64 (+.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (neg.f64 (/.f64 (*.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) r) b) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64))))) b))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/2 binary64) (neg.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 3 binary64)))))) b) (*.f64 r (/.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))))) b (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) b))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/6 binary64) (neg.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 r (/.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)))) (fma.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/2 binary64) (neg.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 3 binary64)))))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (*.f64 (*.f64 r (/.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)))) #s(literal 1/2 binary64)))) b))) (fma.f64 (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) #s(literal -1/2 binary64) (neg.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 2 binary64)) r) (pow.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal 3 binary64)))))) b) (*.f64 r (/.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))))) b (/.f64 r (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))) b))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (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))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (fma.f64 b (fma.f64 (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) b) #s(literal -1/2 binary64) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (fma.f64 (fma.f64 b (fma.f64 (*.f64 (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) b) #s(literal -1/6 binary64) (*.f64 (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a)) #s(literal -1/2 binary64))) (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))))
#s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))
#s(approx (sin b) (sin.f64 b))
#s(approx (tan b) (tan.f64 b))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 a b) #s(literal 1 binary64)) b))
#s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (+.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) b) #s(literal 1 binary64)) b))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (/.f64 (*.f64 (*.f64 (sin.f64 a) r) (*.f64 b b)) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 r (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 b b)))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (/.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (pow.f64 (cos.f64 a) #s(literal 2 binary64))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (fma.f64 r (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) #s(literal 2 binary64))) (/.f64 r (*.f64 (cos.f64 a) b))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (cos (+ a b)) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (neg.f64 b) (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64))))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) (neg.f64 b)))))
#s(approx (sin (+ (* (PI) 1/2) (+ a b))) (sin.f64 (-.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) (neg.f64 b))))
#s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (neg.f64 b) (-.f64 (neg.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) b)) #s(literal 1 binary64))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 r (*.f64 (cos.f64 a) b))) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) #s(literal 2 binary64)))))))

eval69.0ms (1.6%)

Memory
-13.9MiB live, 39.2MiB allocated; 9ms collecting garbage
Compiler

Compiled 2 975 to 1 138 computations (61.7% saved)

prune59.0ms (1.4%)

Memory
3.4MiB live, 49.9MiB allocated; 3ms collecting garbage
Pruning

38 alts after pruning (36 fresh and 2 done)

PrunedKeptTotal
New21922241
Fresh41418
Picked325
Done000
Total22638264
Accuracy
99.9%
Counts
264 → 38
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
62.0%
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
60.9%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (cos.f64 a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 b)))))
60.8%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 #s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a)) (sin.f64 b))))
67.2%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
58.9%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
58.9%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
63.0%
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
42.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
43.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
42.9%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
37.1%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (+.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) b) #s(literal 1 binary64)) b))))
65.7%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) (fma.f64 (/.f64 a b) b b))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
60.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
56.7%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)))))
56.0%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
56.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
78.8%
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
43.3%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
62.0%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
78.9%
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
78.9%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
43.3%
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
39.5%
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64) (fma.f64 (neg.f64 (-.f64 (*.f64 #s(literal -1/3 binary64) (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/3 binary64)) (neg.f64 (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) (tan.f64 a)))) b (*.f64 (pow.f64 (cos.f64 a) #s(literal -3 binary64)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)))) b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))) b (/.f64 r (cos.f64 a))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
38.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b) (tan.f64 a) (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))) b))
56.6%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
62.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r))))
39.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
Compiler

Compiled 1 188 to 1 090 computations (8.2% saved)

series50.0ms (1.1%)

Memory
10.5MiB live, 101.2MiB allocated; 8ms collecting garbage
Counts
32 → 122
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (sin.f64 b) r)
(sin.f64 b)
b
r
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 a)
a
(cos.f64 b)
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r))
(*.f64 b r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))
#s(literal 1 binary64)
(cos.f64 (+.f64 a b))
(+.f64 a b)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b))
(*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b)
(fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(/.f64 #s(literal 1 binary64) (cos.f64 a))
(*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))
(tan.f64 a)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
Outputs
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* (sin b) r) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (* b r) #s(hole binary64 (* b r)))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (+ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ r (cos a)) #s(hole binary64 (/ r (cos a))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (cos b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx a #s(hole binary64 a))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos b))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (/ r (cos b)) (/ (* a (* r (sin b))) (pow (cos b) 2)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos b))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (/ 1 (cos b)) (/ (* a (sin b)) (pow (cos b) 2)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (+ (* -1 (* a (+ (* -1 (/ (* (sin b) (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (cos b))) (+ (* -1/2 (/ (sin b) (pow (cos b) 2))) (* 1/6 (/ (sin b) (pow (cos b) 2))))))) (* 1/2 (/ 1 (cos b)))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* 1/2 (pow a 2)))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* (pow a 2) (+ 1/2 (* 5/24 (pow a 2)))))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* (pow a 2) (+ 1/2 (* (pow a 2) (+ 5/24 (* 61/720 (pow a 2)))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (* b r))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (* 1/3 (* b r)) (* -1/2 (* b r))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (+ (* 1/3 (* b r)) (* (pow a 2) (- (* 2/15 (* b r)) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r)))))) (* -1/2 (* b r))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (+ (* 1/3 (* b r)) (* (pow a 2) (- (+ (* 2/15 (* b r)) (* (pow a 2) (- (* 17/315 (* b r)) (+ (* -1/2 (- (* 2/15 (* b r)) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r))))) (+ (* -1/720 (* b r)) (* 1/24 (- (* 1/3 (* b r)) (* -1/2 (* b r))))))))) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r)))))) (* -1/2 (* b r))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* 1/3 (pow a 2))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* 2/15 (pow a 2))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* (pow a 2) (+ 2/15 (* 17/315 (pow a 2))))))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 1/2 (* (pow a 2) (* b r))) (* b r))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 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)))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* 1/2 (* (pow a 2) r)))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ 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))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (+ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (/ 1 (cos a))))
#s(approx (tan a) #s(hole binary64 (/ (sin a) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (- b (* -1 a))))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (- b (* -1 a))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* b (- (* -1 (* b (+ (* -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)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* b (- (* b (- (* -1 (* b (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a))))) (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)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (cos a))) (+ (* -1/2 (/ (sin a) (pow (cos a) 2))) (* 1/6 (/ (sin a) (pow (cos a) 2))))))) (* 1/2 (/ 1 (cos a)))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (- a (* -1 b))))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (- a (* -1 b))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
Calls

9 calls:

TimeVariablePointExpression
8.0ms
r
@inf
((/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* (sin b) r) (sin b) b r (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (* b r) (/ (* (sin b) r) (cos (+ a b))) (cos (+ a b)) (+ a b) (* (sin b) (* r (/ 1 (cos (+ a b))))) (* r (/ 1 (cos (+ a b)))) (/ 1 (cos (+ a b))) 1 (cos (+ a b)) (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) b) (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (/ 1 (cos a)) (* (tan a) (* (/ r (cos a)) b)) (tan a) (* (/ r (cos a)) b) (/ r (cos a)))
7.0ms
a
@-inf
((/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* (sin b) r) (sin b) b r (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (* b r) (/ (* (sin b) r) (cos (+ a b))) (cos (+ a b)) (+ a b) (* (sin b) (* r (/ 1 (cos (+ a b))))) (* r (/ 1 (cos (+ a b)))) (/ 1 (cos (+ a b))) 1 (cos (+ a b)) (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) b) (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (/ 1 (cos a)) (* (tan a) (* (/ r (cos a)) b)) (tan a) (* (/ r (cos a)) b) (/ r (cos a)))
6.0ms
r
@-inf
((/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* (sin b) r) (sin b) b r (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (* b r) (/ (* (sin b) r) (cos (+ a b))) (cos (+ a b)) (+ a b) (* (sin b) (* r (/ 1 (cos (+ a b))))) (* r (/ 1 (cos (+ a b)))) (/ 1 (cos (+ a b))) 1 (cos (+ a b)) (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) b) (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (/ 1 (cos a)) (* (tan a) (* (/ r (cos a)) b)) (tan a) (* (/ r (cos a)) b) (/ r (cos a)))
5.0ms
b
@-inf
((/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* (sin b) r) (sin b) b r (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (* b r) (/ (* (sin b) r) (cos (+ a b))) (cos (+ a b)) (+ a b) (* (sin b) (* r (/ 1 (cos (+ a b))))) (* r (/ 1 (cos (+ a b)))) (/ 1 (cos (+ a b))) 1 (cos (+ a b)) (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) b) (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (/ 1 (cos a)) (* (tan a) (* (/ r (cos a)) b)) (tan a) (* (/ r (cos a)) b) (/ r (cos a)))
5.0ms
a
@inf
((/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (* (sin b) r) (sin b) b r (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) a (cos b) (* (sin a) (sin b)) (sin a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (* b r) (/ (* (sin b) r) (cos (+ a b))) (cos (+ a b)) (+ a b) (* (sin b) (* r (/ 1 (cos (+ a b))))) (* r (/ 1 (cos (+ a b)))) (/ 1 (cos (+ a b))) 1 (cos (+ a b)) (+ a b) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) b) (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (/ 1 (cos a)) (* (tan a) (* (/ r (cos a)) b)) (tan a) (* (/ r (cos a)) b) (/ r (cos a)))

rewrite244.0ms (5.6%)

Memory
-4.3MiB live, 144.8MiB allocated; 41ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07163717
07633349
151083234
088493059
1188813059
Stop Event
saturated
node-limit
iter-limit
Counts
154 → 379
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (sin.f64 b) r)
(sin.f64 b)
b
r
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 a)
a
(cos.f64 b)
(*.f64 (sin.f64 a) (sin.f64 b))
(sin.f64 a)
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r))
(*.f64 b r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))
#s(literal 1 binary64)
(cos.f64 (+.f64 a b))
(+.f64 a b)
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b))
(*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b)
(fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(/.f64 #s(literal 1 binary64) (cos.f64 a))
(*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))
(tan.f64 a)
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 r (cos.f64 a))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* (sin b) r) #s(hole binary64 (* r (sin b))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (* b r) #s(hole binary64 (* b r)))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (+ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (/ r (cos a)) #s(hole binary64 (/ r (cos a))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (+ (* 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)))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (cos b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx a #s(hole binary64 a))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos b))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (/ r (cos b)) (/ (* a (* r (sin b))) (pow (cos b) 2)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos b))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (/ 1 (cos b)) (/ (* a (sin b)) (pow (cos b) 2)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (+ (* -1 (* a (+ (* -1 (/ (* (sin b) (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (cos b))) (+ (* -1/2 (/ (sin b) (pow (cos b) 2))) (* 1/6 (/ (sin b) (pow (cos b) 2))))))) (* 1/2 (/ 1 (cos b)))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* 1/2 (pow a 2)))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* (pow a 2) (+ 1/2 (* 5/24 (pow a 2)))))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (+ 1 (* (pow a 2) (+ 1/2 (* (pow a 2) (+ 5/24 (* 61/720 (pow a 2)))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (* b r))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (* 1/3 (* b r)) (* -1/2 (* b r))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (+ (* 1/3 (* b r)) (* (pow a 2) (- (* 2/15 (* b r)) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r)))))) (* -1/2 (* b r))))))))
#s(approx (* (tan a) (* (/ r (cos a)) b)) #s(hole binary64 (* a (+ (* b r) (* (pow a 2) (- (+ (* 1/3 (* b r)) (* (pow a 2) (- (+ (* 2/15 (* b r)) (* (pow a 2) (- (* 17/315 (* b r)) (+ (* -1/2 (- (* 2/15 (* b r)) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r))))) (+ (* -1/720 (* b r)) (* 1/24 (- (* 1/3 (* b r)) (* -1/2 (* b r))))))))) (+ (* -1/2 (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* 1/24 (* b r)))))) (* -1/2 (* b r))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* 1/3 (pow a 2))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* 2/15 (pow a 2))))))))
#s(approx (tan a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (+ 1/3 (* (pow a 2) (+ 2/15 (* 17/315 (pow a 2))))))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 1/2 (* (pow a 2) (* b r))) (* b r))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* b r) (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 (* b r)) (* 1/24 (* b r))))) (* -1/2 (* b r)))))))
#s(approx (* (/ r (cos a)) b) #s(hole binary64 (+ (* 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)))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* 1/2 (* (pow a 2) r)))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ r (* (pow a 2) (- (* -1 (* (pow a 2) (+ (* -1/4 r) (* 1/24 r)))) (* -1/2 r))))))
#s(approx (/ r (cos a)) #s(hole binary64 (+ 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))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (+ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (/ 1 (cos a)) #s(hole binary64 (/ 1 (cos a))))
#s(approx (tan a) #s(hole binary64 (/ (sin a) (cos a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (- b (* -1 a))))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (- b (* -1 a))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (* 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))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos a) (cos b)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* b (- (* -1 (* b (+ (* -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)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (+ (* b (- (* b (- (* -1 (* b (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a))))) (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)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (cos a))) (+ (* -1/2 (/ (sin a) (pow (cos a) 2))) (* 1/6 (/ (sin a) (pow (cos a) 2))))))) (* 1/2 (/ 1 (cos a)))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (* r (/ 1 (cos (+ a b)))) #s(hole binary64 (/ r (cos (- a (* -1 b))))))
#s(approx (/ 1 (cos (+ a b))) #s(hole binary64 (/ 1 (cos (- a (* -1 b))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
Outputs
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(*.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 (neg.f64 (*.f64 (sin.f64 b) r))) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
(sin.f64 b)
b
r
(/.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 (*.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))
(neg.f64 (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
(sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 a b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 (*.f64 #s(literal 1 binary64) b))) (*.f64 (sin.f64 a) (sin.f64 (*.f64 #s(literal 1 binary64) b))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 (neg.f64 b)))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (+.f64 a b))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 a b))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 a b))))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (fabs.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (sin.f64 (+.f64 a b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(*.f64 (cos.f64 b) (cos.f64 a))
(*.f64 (cos.f64 a) (cos.f64 b))
(/.f64 (neg.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 a b)))) #s(literal -2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) (fabs.f64 a))) (cos.f64 (-.f64 (fabs.f64 b) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) (neg.f64 a))) (cos.f64 (-.f64 (fabs.f64 b) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) a)) (cos.f64 (-.f64 (fabs.f64 b) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) (fabs.f64 a))) (cos.f64 (-.f64 (neg.f64 b) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) (neg.f64 a))) (cos.f64 (-.f64 (neg.f64 b) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) a)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 b (fabs.f64 a))) (cos.f64 (-.f64 b (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 b (neg.f64 a))) (cos.f64 (-.f64 (neg.f64 a) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 b a))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) (fabs.f64 b))) (cos.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) (neg.f64 b))) (cos.f64 (-.f64 (fabs.f64 a) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) b)) (cos.f64 (-.f64 (fabs.f64 a) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) (fabs.f64 b))) (cos.f64 (-.f64 (neg.f64 a) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) (neg.f64 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 (neg.f64 a) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a (fabs.f64 b))) (cos.f64 (-.f64 a (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a (neg.f64 b))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))))) (cos.f64 (+.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (fabs.f64 a))) (sin.f64 (+.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 a))) (sin.f64 (+.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) a)) (sin.f64 (+.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (fabs.f64 b))) (sin.f64 (+.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b))) (sin.f64 (+.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (/.f64 (PI.f64) #s(literal 2 binary64))) b)) (sin.f64 (+.f64 (+.f64 a (/.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 (cos.f64 (+.f64 a b)) #s(literal 2 binary64)) (/.f64 (cos.f64 (-.f64 a b)) #s(literal 2 binary64)))
(sin.f64 (+.f64 (fabs.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 a (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 a) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 a) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (fabs.f64 a)))
(cos.f64 (fabs.f64 (fabs.f64 a)))
(cos.f64 (neg.f64 (neg.f64 a)))
(cos.f64 (fabs.f64 a))
(cos.f64 (neg.f64 a))
(cos.f64 a)
(+.f64 (*.f64 (sin.f64 a) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 a) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
a
(sin.f64 (+.f64 (fabs.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 b (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 b) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 b) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (fabs.f64 b)))
(cos.f64 (fabs.f64 (fabs.f64 b)))
(cos.f64 (neg.f64 (neg.f64 b)))
(cos.f64 (fabs.f64 b))
(cos.f64 (neg.f64 b))
(cos.f64 b)
(+.f64 (*.f64 (sin.f64 b) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 b) (sin.f64 (/.f64 (PI.f64) #s(literal 2 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 b a)) (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)))
(sin.f64 a)
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 r b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 r b))
(*.f64 r b)
(*.f64 b r)
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (sin.f64 b) r))) (neg.f64 (neg.f64 (cos.f64 #s(approx (+ a b) b)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 #s(approx (+ a b) b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 #s(approx (+ a b) b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 #s(approx (+ a b) b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 #s(approx (+ a b) b))))
(cos.f64 (neg.f64 (fabs.f64 #s(approx (+ a b) b))))
(cos.f64 (fabs.f64 (fabs.f64 #s(approx (+ a b) b))))
(cos.f64 (neg.f64 #s(approx (+ a b) b)))
(cos.f64 (fabs.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
(+.f64 (*.f64 (sin.f64 #s(approx (+ a b) b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 #s(approx (+ a b) b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (+ a b) b)
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(*.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 (neg.f64 (*.f64 (sin.f64 b) r))) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) r)
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 r #s(literal 1 binary64))) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (neg.f64 r)) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 (*.f64 r #s(literal 1 binary64)) (cos.f64 (+.f64 a b)))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 r (cos.f64 (+.f64 a b)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(pow.f64 (cos.f64 (+.f64 a b)) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 #s(literal -1 binary64) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))
#s(literal 1 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 (*.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))
(neg.f64 (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
(sin.f64 (+.f64 (neg.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (+.f64 a b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 a b) (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 (+.f64 a b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 (*.f64 #s(literal 1 binary64) b))) (*.f64 (sin.f64 a) (sin.f64 (*.f64 #s(literal 1 binary64) b))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 (neg.f64 b)))))
(-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 (neg.f64 (neg.f64 (+.f64 a b))))
(cos.f64 (neg.f64 (fabs.f64 (+.f64 a b))))
(cos.f64 (fabs.f64 (fabs.f64 (+.f64 a b))))
(cos.f64 (-.f64 (neg.f64 b) a))
(cos.f64 (neg.f64 (+.f64 a b)))
(cos.f64 (fabs.f64 (+.f64 a b)))
(cos.f64 (+.f64 a b))
(+.f64 (*.f64 (sin.f64 (+.f64 a b)) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 (+.f64 a b)) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(+.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b))))
(neg.f64 (-.f64 (neg.f64 b) a))
(-.f64 a (neg.f64 b))
(+.f64 a (*.f64 #s(literal 1 binary64) b))
(+.f64 a (neg.f64 (neg.f64 b)))
(+.f64 a b)
(+.f64 b a)
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (*.f64 (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))) b))
(*.f64 (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))) b)
(*.f64 b (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))))
(fma.f64 (*.f64 r b) (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 b (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))))
(fma.f64 (*.f64 r b) (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) b))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 b (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) b))
(fma.f64 b (/.f64 r (cos.f64 a)) (*.f64 b (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))))
(fma.f64 b (/.f64 r (cos.f64 a)) (*.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) b))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 b (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) b))
(/.f64 (fma.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)) (cos.f64 a) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (*.f64 r #s(literal 1 binary64)))) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (cos.f64 a)))
(/.f64 (fma.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)) (neg.f64 (cos.f64 a)) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (neg.f64 r))) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (neg.f64 (cos.f64 a))))
(/.f64 (fma.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)) (cos.f64 a) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) r)) (*.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (cos.f64 a)))
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (cos.f64 a) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (*.f64 r #s(literal 1 binary64)))) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (neg.f64 (cos.f64 a)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 r))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 (cos.f64 a))))
(/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (cos.f64 a) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r)) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(/.f64 (fma.f64 (*.f64 r #s(literal 1 binary64)) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (*.f64 (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)))) (*.f64 (cos.f64 a) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))))
(/.f64 (fma.f64 (*.f64 r #s(literal 1 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (*.f64 (cos.f64 a) (*.f64 (*.f64 (sin.f64 a) r) b))) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(/.f64 (fma.f64 (neg.f64 r) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (*.f64 (neg.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)))) (*.f64 (neg.f64 (cos.f64 a)) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))))
(/.f64 (fma.f64 (neg.f64 r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (*.f64 (neg.f64 (cos.f64 a)) (*.f64 (*.f64 (sin.f64 a) r) b))) (*.f64 (neg.f64 (cos.f64 a)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))
(/.f64 (fma.f64 r (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (*.f64 (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)))) (*.f64 (cos.f64 a) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))))
(/.f64 (neg.f64 (fma.f64 r (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (*.f64 (cos.f64 a) (*.f64 (*.f64 (sin.f64 a) r) b)))) (neg.f64 (pow.f64 (cos.f64 a) #s(literal 3 binary64))))
(/.f64 (fma.f64 r (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (*.f64 (cos.f64 a) (*.f64 (*.f64 (sin.f64 a) r) b))) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))
(fma.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) (/.f64 r (cos.f64 a)))
(fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) (/.f64 b (cos.f64 a)) (/.f64 r (cos.f64 a)))
(fma.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))) b (/.f64 r (cos.f64 a)))
(fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (cos.f64 a)))
(fma.f64 (/.f64 #s(literal 1 binary64) (cos.f64 a)) r (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a)))
(fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a)))
(fma.f64 (/.f64 r (cos.f64 a)) (*.f64 b (tan.f64 a)) (/.f64 r (cos.f64 a)))
(fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))) (/.f64 r (cos.f64 a)))
(-.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) (neg.f64 (/.f64 r (cos.f64 a))))
(-.f64 (/.f64 r (cos.f64 a)) (*.f64 (neg.f64 (tan.f64 a)) (*.f64 (/.f64 r (cos.f64 a)) b)))
(-.f64 (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))))
(+.f64 (/.f64 (*.f64 r (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))) (/.f64 (*.f64 (cos.f64 a) (*.f64 (*.f64 (sin.f64 a) r) b)) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))
(+.f64 (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)) (/.f64 r (cos.f64 a)))
(+.f64 (/.f64 r (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(pow.f64 (cos.f64 a) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (cos.f64 a)))
(/.f64 #s(literal 1 binary64) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 #s(literal 1 binary64) (cos.f64 a))
(*.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)))
(*.f64 (/.f64 (*.f64 (sin.f64 a) r) (cos.f64 a)) (/.f64 b (cos.f64 a)))
(*.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))) b)
(*.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))
(*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))
(*.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a))
(*.f64 (/.f64 r (cos.f64 a)) (*.f64 b (tan.f64 a)))
(*.f64 b (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))))
(/.f64 (*.f64 (neg.f64 (sin.f64 a)) (neg.f64 (*.f64 r b))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (*.f64 (neg.f64 (sin.f64 a)) (*.f64 r b)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 a) (neg.f64 (*.f64 r b))) (*.f64 (cos.f64 a) (neg.f64 (cos.f64 a))))
(/.f64 (*.f64 (sin.f64 a) (*.f64 r b)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (*.f64 (neg.f64 (*.f64 r b)) (neg.f64 (sin.f64 a))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))
(/.f64 (*.f64 (neg.f64 (*.f64 r b)) (sin.f64 a)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 a)))
(/.f64 (*.f64 (*.f64 r b) (neg.f64 (sin.f64 a))) (*.f64 (cos.f64 a) (neg.f64 (cos.f64 a))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b))) (neg.f64 (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))))
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) r) b)) (neg.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))
(/.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))
(*.f64 (sin.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(/.f64 (neg.f64 (neg.f64 (sin.f64 a))) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 (neg.f64 (sin.f64 a)) (neg.f64 (cos.f64 a)))
(/.f64 (sin.f64 a) (cos.f64 a))
(tan.f64 (+.f64 (+.f64 a (PI.f64)) (PI.f64)))
(tan.f64 (+.f64 a (PI.f64)))
(tan.f64 a)
(*.f64 (*.f64 r b) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(/.f64 (neg.f64 (neg.f64 (*.f64 r b))) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 (neg.f64 (*.f64 r b)) (neg.f64 (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 a)) r)
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)))
(/.f64 (neg.f64 (*.f64 r #s(literal 1 binary64))) (neg.f64 (cos.f64 a)))
(/.f64 (neg.f64 (neg.f64 r)) (neg.f64 (neg.f64 (cos.f64 a))))
(/.f64 (*.f64 r #s(literal 1 binary64)) (cos.f64 a))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 a)))
(/.f64 r (cos.f64 a))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (sin b) r) (*.f64 (sin.f64 b) r))
#s(approx r r)
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (*.f64 r b) (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))
#s(approx (* b r) (*.f64 r b))
#s(approx (* r (/ 1 (cos (+ a b)))) (/.f64 r (cos.f64 (+.f64 a b))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r))
#s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b)))
#s(approx (* (/ r (cos a)) b) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ r (cos a)) (/.f64 r (cos.f64 a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (neg.f64 (*.f64 (*.f64 r b) (neg.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (neg.f64 (*.f64 (neg.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a)))) r)))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (*.f64 r (tan.f64 b)))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (fma.f64 a (*.f64 r (*.f64 (tan.f64 b) (tan.f64 b))) (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (pow.f64 (tan.f64 b) #s(literal 3 binary64)))))) (neg.f64 (*.f64 r (*.f64 (tan.f64 b) (tan.f64 b))))) a (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (*.f64 #s(literal 1/6 binary64) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (*.f64 (sin.f64 b) (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (pow.f64 (tan.f64 b) #s(literal 3 binary64))))) (cos.f64 b)))) a)) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (pow.f64 (tan.f64 b) #s(literal 3 binary64)))))) a) (neg.f64 (*.f64 r (*.f64 (tan.f64 b) (tan.f64 b))))) a (*.f64 r (tan.f64 b))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (cos.f64 b))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 a (-.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)) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (*.f64 (*.f64 a a) #s(literal -1/2 binary64)) (cos.f64 b) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal 1/24 binary64) (cos.f64 b))) (*.f64 a a) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (cos a) #s(literal 1 binary64))
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx a a)
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 a a)) (sin.f64 b) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 a a) (sin.f64 b)) #s(literal 1/120 binary64) (*.f64 (sin.f64 b) #s(literal -1/6 binary64))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 b) (*.f64 (fma.f64 #s(literal 1/120 binary64) (sin.f64 b) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 a a)) (sin.f64 b))) (*.f64 a a))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64)) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (*.f64 (*.f64 r b) a) #s(literal 1/2 binary64) (*.f64 (*.f64 b b) r)) a (*.f64 r b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) b) a (*.f64 #s(literal 1/2 binary64) (*.f64 r b))) a (*.f64 (*.f64 b b) r)) a (*.f64 r b)))
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 a b))
#s(approx (* r (/ 1 (cos (+ a b)))) (/.f64 r (cos.f64 b)))
#s(approx (* r (/ 1 (cos (+ a b)))) (fma.f64 a (*.f64 (tan.f64 b) (/.f64 r (cos.f64 b))) (/.f64 r (cos.f64 b))))
#s(approx (* r (/ 1 (cos (+ a b)))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 (/.f64 r (cos.f64 b)) #s(literal -1/2 binary64) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal -3 binary64)))))) (neg.f64 (*.f64 (tan.f64 b) (/.f64 r (cos.f64 b))))) a (/.f64 r (cos.f64 b))))
#s(approx (* r (/ 1 (cos (+ a b)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (sin.f64 b) r) (*.f64 #s(literal 1/6 binary64) (*.f64 (sin.f64 b) r))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 (*.f64 (fma.f64 (/.f64 r (cos.f64 b)) #s(literal -1/2 binary64) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal -3 binary64))))) (sin.f64 b)) (cos.f64 b))) a)) (fma.f64 (/.f64 r (cos.f64 b)) #s(literal -1/2 binary64) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal -3 binary64)))))) a) (neg.f64 (*.f64 (tan.f64 b) (/.f64 r (cos.f64 b))))) a (/.f64 r (cos.f64 b))))
#s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 b)))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (/.f64 a (cos.f64 b)) (tan.f64 b) (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal -3 binary64))))) a) (*.f64 (/.f64 #s(literal -1 binary64) (cos.f64 b)) (tan.f64 b))) a (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 a) (fma.f64 (/.f64 (sin.f64 b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal -3 binary64))))) (sin.f64 b)) (cos.f64 b)))) (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal -3 binary64)))))) a) (*.f64 (/.f64 #s(literal -1 binary64) (cos.f64 b)) (tan.f64 b))) a (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (fma.f64 (*.f64 r b) a r))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (fma.f64 (fma.f64 (*.f64 a r) #s(literal 1/2 binary64) (*.f64 r b)) a r))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) a (*.f64 #s(literal 1/2 binary64) r)) a (*.f64 r b)) a r))
#s(approx (/ 1 (cos a)) (fma.f64 #s(literal 1/2 binary64) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (/ 1 (cos a)) (fma.f64 (fma.f64 #s(literal 5/24 binary64) (*.f64 a a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (/ 1 (cos a)) (fma.f64 (fma.f64 (fma.f64 #s(literal 61/720 binary64) (*.f64 a a) #s(literal 5/24 binary64)) (*.f64 a a) #s(literal 1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (*.f64 r b) a))
#s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) (*.f64 a a) (*.f64 r b)) a))
#s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/3 binary64) b) r (*.f64 (-.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 r b)) (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) #s(literal -1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 r b)))) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b)) a))
#s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/3 binary64) b) r (*.f64 (-.f64 (fma.f64 (*.f64 #s(literal 2/15 binary64) b) r (*.f64 (-.f64 (*.f64 #s(literal 17/315 binary64) (*.f64 r b)) (fma.f64 (-.f64 (*.f64 #s(literal 2/15 binary64) (*.f64 r b)) (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) #s(literal -1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 r b)))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (*.f64 r b))))) (*.f64 a a))) (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) #s(literal -1/2 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 r b)))) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b)) a))
#s(approx (tan a) (*.f64 (fma.f64 #s(literal 1/3 binary64) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (tan a) (*.f64 (fma.f64 (fma.f64 #s(literal 2/15 binary64) (*.f64 a a) #s(literal 1/3 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (tan a) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 17/315 binary64) (*.f64 a a) #s(literal 2/15 binary64)) (*.f64 a a) #s(literal 1/3 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (* (/ r (cos a)) b) (fma.f64 (*.f64 (*.f64 (*.f64 a a) b) r) #s(literal 1/2 binary64) (*.f64 r b)))
#s(approx (* (/ r (cos a)) b) (fma.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (*.f64 r b) #s(literal -5/24 binary64)) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b)))
#s(approx (* (/ r (cos a)) b) (fma.f64 (fma.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 r b) (fma.f64 #s(literal 1/48 binary64) (*.f64 r b) (*.f64 (*.f64 (*.f64 r b) #s(literal -5/24 binary64)) #s(literal 1/2 binary64)))) (*.f64 a a))) (*.f64 (*.f64 r b) #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) (*.f64 r b))) (*.f64 a a) (*.f64 r b)))
#s(approx (/ r (cos a)) (fma.f64 (*.f64 (*.f64 a a) r) #s(literal 1/2 binary64) r))
#s(approx (/ r (cos a)) (fma.f64 (-.f64 (neg.f64 (*.f64 (*.f64 r #s(literal -5/24 binary64)) (*.f64 a a))) (*.f64 #s(literal -1/2 binary64) r)) (*.f64 a a) r))
#s(approx (/ r (cos a)) (fma.f64 (fma.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) r (fma.f64 (*.f64 r #s(literal -5/24 binary64)) #s(literal 1/2 binary64) (*.f64 #s(literal 1/48 binary64) r))) (*.f64 a a))) (*.f64 r #s(literal -5/24 binary64))) (*.f64 a a) (*.f64 #s(literal 1/2 binary64) r)) (*.f64 a a) r))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (cos.f64 (+.f64 a b)))
#s(approx (* (cos a) (cos b)) (*.f64 (cos.f64 b) (cos.f64 a)))
#s(approx (cos a) (cos.f64 a))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) (sin.f64 b)))
#s(approx (sin a) (sin.f64 a))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))) b))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 b a) #s(literal 1 binary64)) a))
#s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (fma.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 r (cos.f64 a))))
#s(approx (/ 1 (cos a)) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
#s(approx (tan a) (tan.f64 a))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 (neg.f64 a) b))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (cos.f64 (-.f64 (neg.f64 a) b)))
#s(approx (+ a b) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) a) #s(literal 1 binary64))))
#s(approx (* r (/ 1 (cos (+ a b)))) (/.f64 r (cos.f64 (-.f64 (neg.f64 a) b))))
#s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 (-.f64 (neg.f64 a) b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64)))))) b) (neg.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (*.f64 (fma.f64 (-.f64 (*.f64 (+.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64)))))) (sin.f64 a)) (cos.f64 a)))) b)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64))))) (/.f64 (-.f64 (*.f64 #s(literal -1/6 binary64) r) (*.f64 #s(literal -1/2 binary64) r)) (cos.f64 a))) b) (neg.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (*.f64 (*.f64 b b) r) #s(literal -1/6 binary64) r) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) r) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) (fma.f64 (*.f64 (*.f64 b b) r) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) r)) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 b b) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a)))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (fma.f64 b (-.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)) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/2 binary64)) (cos.f64 a) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) (cos.f64 a) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (* (cos a) (cos b)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/720 binary64)) (cos.f64 a) (*.f64 #s(literal 1/24 binary64) (cos.f64 a))) (*.f64 b b) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) (*.f64 b b) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/6 binary64) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal 1/120 binary64) (*.f64 (sin.f64 a) #s(literal -1/6 binary64))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 a) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 a) #s(literal 1/120 binary64))) (*.f64 b b))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* r (/ 1 (cos (+ a b)))) (fma.f64 (-.f64 (*.f64 (neg.f64 b) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64)))))) (neg.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))))) b (/.f64 r (cos.f64 a))))
#s(approx (* r (/ 1 (cos (+ a b)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))) #s(literal -1/3 binary64) (/.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64))))) (sin.f64 a)) (cos.f64 a))) b)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal -3 binary64)))))) b) (neg.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a))))) b (/.f64 r (cos.f64 a))))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal -3 binary64))))) b) (*.f64 (/.f64 #s(literal -1 binary64) (cos.f64 a)) (tan.f64 a))) b (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (/ 1 (cos (+ a b))) (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal -3 binary64))))) (sin.f64 a)) (cos.f64 a)))) (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal -3 binary64)))))) b) (*.f64 (/.f64 #s(literal -1 binary64) (cos.f64 a)) (tan.f64 a))) b (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (sin b) (sin.f64 b))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (*.f64 b b) (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 (tan.f64 a) (/.f64 r (cos.f64 a)) (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 b b)))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 a b) #s(literal 1 binary64)) b))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (fma.f64 (tan.f64 a) (/.f64 r (cos.f64 a)) (/.f64 r (*.f64 (cos.f64 a) b))) b))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (neg.f64 b) (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64))))
#s(approx (* r (/ 1 (cos (+ a b)))) (/.f64 r (cos.f64 (+.f64 a b))))
#s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
#s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 r (*.f64 (cos.f64 a) b))) (neg.f64 (*.f64 (tan.f64 a) (/.f64 r (cos.f64 a)))))))

eval87.0ms (2%)

Memory
-24.1MiB live, 67.2MiB allocated; 21ms collecting garbage
Compiler

Compiled 4 290 to 1 812 computations (57.8% saved)

prune32.0ms (0.7%)

Memory
29.8MiB live, 72.4MiB allocated; 5ms collecting garbage
Pruning

42 alts after pruning (37 fresh and 5 done)

PrunedKeptTotal
New32717344
Fresh112031
Picked235
Done022
Total34042382
Accuracy
99.9%
Counts
382 → 42
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))))
99.5%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
60.8%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 #s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a)) (sin.f64 b))))
67.2%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
58.9%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
58.9%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
63.0%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
42.8%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
62.0%
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
56.7%
(/.f64 (*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
60.9%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (cos.f64 a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
42.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
43.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
42.9%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
65.7%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) (fma.f64 (/.f64 a b) b b))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
60.1%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
56.0%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
56.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
78.9%
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
78.8%
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
43.3%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
62.0%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
62.0%
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
99.5%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
62.0%
(*.f64 (sin.f64 b) (*.f64 r #s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 b)))))
56.0%
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
43.3%
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
39.5%
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
38.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b) (tan.f64 a) (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))) b))
46.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) #s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (*.f64 r b) a))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (neg.f64 (cos.f64 a)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 r))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 (cos.f64 a)))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
62.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
56.6%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r)) b))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
39.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
Compiler

Compiled 1 234 to 1 161 computations (5.9% saved)

series90.0ms (2.1%)

Memory
-27.1MiB live, 170.8MiB allocated; 19ms collecting garbage
Counts
36 → 167
Calls
Call 1
Inputs
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(sin.f64 b)
b
(*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))))
r
(/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
#s(literal -1 binary64)
(-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (sin.f64 a) (sin.f64 b))
(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 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
(*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b)
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r))
(fma.f64 (*.f64 b r) a r)
(*.f64 b r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 r (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 (sin.f64 b) r)
(sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))
(neg.f64 #s(approx (+ a b) b))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b))
#s(approx (cos a) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* -1 (/ (* r (sin b)) (- (* (sin a) (sin b)) (* (cos a) (cos b)))))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (* -1 (/ r (- (* (sin a) (sin b)) (* (cos a) (cos b)))))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* r (+ 1 (* a b)))))
#s(approx (* b r) #s(hole binary64 (* b r)))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (+ a b)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))))
#s(approx (* (sin b) r) #s(hole binary64 (* r (sin b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* r (- (* -1 (* a b)) 1)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ (* r (sin b)) (cos b))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3)))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ (* r (sin b)) (cos b))) (+ (* a (+ (* -1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* 1/2 (/ (* r (sin b)) (cos b))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3)))) (cos b))))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (/ r (cos b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (/ r (cos b)) (/ (* a (* r (sin b))) (pow (cos b) 2)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ r (cos b))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3)))) (/ (* r (sin b)) (pow (cos b) 2)))) (/ r (cos b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ r (cos b))) (+ (* a (+ (* -1/6 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/2 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* 1/2 (/ r (cos b))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3)))) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3))))) (/ (* r (sin b)) (pow (cos b) 2)))) (/ r (cos b)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ 1 (cos b))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (/ 1 (cos b)) (/ (* a (sin b)) (pow (cos b) 2)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* a (- (* a (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* a (- (* a (- (+ (* -1 (* a (+ (* -1 (/ (* (sin b) (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (cos b))) (+ (* -1/2 (/ (sin b) (pow (cos b) 2))) (* 1/6 (/ (sin b) (pow (cos b) 2))))))) (* 1/2 (/ 1 (cos b)))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (* -1 (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (sin b)) (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (+ (sin b) (* 1/2 (* a (cos b))))) (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (+ (sin b) (* a (- (* -1/6 (* a (sin b))) (* -1/2 (cos b)))))) (cos b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 a))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (cos b)))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (* 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))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (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)))))))))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (* 1/2 (PI)) b)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (+ (* -1 a) (* 1/2 (PI))) b)))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 b)))
#s(approx (neg (+ a b)) #s(hole binary64 (- (* -1 a) b)))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ -1 (- (* (sin a) (sin b)) (* (cos a) (cos b))))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* (sin a) (sin b)) (* (cos a) (cos b)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* a (* b r))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* a (+ (* b r) (/ r a)))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (+ a b)))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* a (- (* -1 (/ b a)) 1))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* a (+ (* -1 (* b r)) (* -1 (/ r a)))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (+ (* -1 a) (* 1/2 (PI))) b))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 (* a (+ 1 (/ b a))))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* b (+ (* b (+ (* -1 (* b (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* b (+ (* b (+ (* b (+ (* -1 (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (* b (+ (* -1 (/ (* (sin a) (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (cos a))) (+ (* -1/6 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/2 (/ (* r (sin a)) (pow (cos a) 2)))))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (/ r (cos a))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* b (+ (* b (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* b (+ (* b (+ (* 1/2 (/ r (cos a))) (+ (* b (+ (* -1/6 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/2 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))) (cos a))))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ 1 (cos a))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* b (- (* b (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (cos a))) (+ (* -1/2 (/ (sin a) (pow (cos a) 2))) (* 1/6 (/ (sin a) (pow (cos a) 2))))))) (* 1/2 (/ 1 (cos a)))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (* -1 (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (sin a)) (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (+ (sin a) (* 1/2 (* b (cos a))))) (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (+ (sin a) (* b (- (* -1/6 (* b (sin a))) (* -1/2 (cos a)))))) (cos a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* b (- (* -1 (* b (+ (* -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)))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (* -1 (* b (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a))))) (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)))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* b r) (sin (- (* 1/2 (PI)) a)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* 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)))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* 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)))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) a))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (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)))))))))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (* 1/2 (PI)) a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (+ (* -1 b) (* 1/2 (PI))) a)))
#s(approx (neg (+ a b)) #s(hole binary64 (- (* -1 b) a)))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* b (+ (* a r) (/ r b)))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* b (- (* -1 (/ a b)) 1))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* b (+ (* -1 (* a r)) (* -1 (/ r b)))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (+ (* -1 b) (* 1/2 (PI))) a))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 (* b (+ 1 (/ a b))))))
Calls

9 calls:

TimeVariablePointExpression
23.0ms
b
@-inf
((* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) (sin b) b (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))) (* (sin a) (sin b)) (sin a) a (* (cos b) (cos a)) (cos b) (cos a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (+ (* (* b r) a) r) (* b r) (* (sin b) (/ r (cos (+ a b)))) (/ r (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2))) (+ (neg (+ a b)) (/ (PI) 2)) (neg (+ a b)) (/ (PI) 2) (PI) 2 (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) 1)
10.0ms
b
@0
((* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) (sin b) b (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))) (* (sin a) (sin b)) (sin a) a (* (cos b) (cos a)) (cos b) (cos a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (+ (* (* b r) a) r) (* b r) (* (sin b) (/ r (cos (+ a b)))) (/ r (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2))) (+ (neg (+ a b)) (/ (PI) 2)) (neg (+ a b)) (/ (PI) 2) (PI) 2 (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) 1)
9.0ms
r
@0
((* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) (sin b) b (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))) (* (sin a) (sin b)) (sin a) a (* (cos b) (cos a)) (cos b) (cos a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (+ (* (* b r) a) r) (* b r) (* (sin b) (/ r (cos (+ a b)))) (/ r (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2))) (+ (neg (+ a b)) (/ (PI) 2)) (neg (+ a b)) (/ (PI) 2) (PI) 2 (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) 1)
8.0ms
r
@-inf
((* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) (sin b) b (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))) (* (sin a) (sin b)) (sin a) a (* (cos b) (cos a)) (cos b) (cos a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (+ (* (* b r) a) r) (* b r) (* (sin b) (/ r (cos (+ a b)))) (/ r (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2))) (+ (neg (+ a b)) (/ (PI) 2)) (neg (+ a b)) (/ (PI) 2) (PI) 2 (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) 1)
8.0ms
a
@0
((* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) (sin b) b (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))) (* (sin a) (sin b)) (sin a) a (* (cos b) (cos a)) (cos b) (cos a) (/ (* r (sin b)) (cos (+ a b))) (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (+ (* (* b r) a) r) (* b r) (* (sin b) (/ r (cos (+ a b)))) (/ r (cos (+ a b))) (cos (+ a b)) (+ a b) (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2))) (+ (neg (+ a b)) (/ (PI) 2)) (neg (+ a b)) (/ (PI) 2) (PI) 2 (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) (- (* (cos a) (cos b)) (* (sin a) (sin b))) (* (cos a) (cos b)) (cos a) 1)

rewrite254.0ms (5.9%)

Memory
33.5MiB live, 124.3MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09385669
09814932
168744649
083114429
1193934429
Stop Event
saturated
node-limit
iter-limit
Counts
203 → 368
Calls
Call 1
Inputs
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(sin.f64 b)
b
(*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))))
r
(/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))
#s(literal -1 binary64)
(-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(*.f64 (sin.f64 a) (sin.f64 b))
(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 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
(*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b)
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r))
(fma.f64 (*.f64 b r) a r)
(*.f64 b r)
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 r (cos.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
#s(approx (+ a b) b)
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 (sin.f64 b) r)
(sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))
(neg.f64 #s(approx (+ a b) b))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b))
#s(approx (cos a) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* -1 (/ (* r (sin b)) (- (* (sin a) (sin b)) (* (cos a) (cos b)))))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (* -1 (/ r (- (* (sin a) (sin b)) (* (cos a) (cos b)))))))
#s(approx r #s(hole binary64 r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (+ a b)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* r (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* r (+ 1 (* a b)))))
#s(approx (* b r) #s(hole binary64 (* b r)))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (+ a b)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) (+ a b))))))
#s(approx (* (sin b) r) #s(hole binary64 (* r (sin b))))
#s(approx (/ (* (sin b) r) (- (* (cos a) (cos b)) (* (sin a) (sin b)))) #s(hole binary64 (/ (* r (sin b)) (- (* (cos a) (cos b)) (* (sin a) (sin b))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* -1 (* b (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a))))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* r (- (* -1 (/ (* b (sin a)) (pow (cos a) 2))) (/ 1 (cos a)))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* r (- (* -1 (* a b)) 1)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (/ (* r (sin b)) (cos b))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (/ (* a (* r (pow (sin b) 2))) (pow (cos b) 2)) (/ (* r (sin b)) (cos b)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ (* r (sin b)) (cos b))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3)))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ (* r (sin b)) (cos b))) (+ (* a (+ (* -1/6 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (+ (* 1/2 (/ (* r (pow (sin b) 2)) (pow (cos b) 2))) (/ (* (sin b) (+ (* 1/2 (/ (* r (sin b)) (cos b))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3)))) (cos b))))) (/ (* r (pow (sin b) 3)) (pow (cos b) 3))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 2)))) (/ (* r (sin b)) (cos b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (/ r (cos b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (/ r (cos b)) (/ (* a (* r (sin b))) (pow (cos b) 2)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ r (cos b))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3)))) (/ (* r (sin b)) (pow (cos b) 2)))) (/ r (cos b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (/ r (cos b))) (+ (* a (+ (* -1/6 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/2 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* 1/2 (/ r (cos b))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3)))) (cos b))))) (/ (* r (pow (sin b) 2)) (pow (cos b) 3))))) (/ (* r (sin b)) (pow (cos b) 2)))) (/ r (cos b)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ 1 (cos b))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (/ 1 (cos b)) (/ (* a (sin b)) (pow (cos b) 2)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* a (- (* a (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* a (- (* a (- (+ (* -1 (* a (+ (* -1 (/ (* (sin b) (- (* 1/2 (/ 1 (cos b))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (cos b))) (+ (* -1/2 (/ (sin b) (pow (cos b) 2))) (* 1/6 (/ (sin b) (pow (cos b) 2))))))) (* 1/2 (/ 1 (cos b)))) (* -1 (/ (pow (sin b) 2) (pow (cos b) 3))))) (* -1 (/ (sin b) (pow (cos b) 2))))) (/ 1 (cos b)))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (* -1 (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (sin b)) (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (+ (sin b) (* 1/2 (* a (cos b))))) (cos b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* a (+ (sin b) (* a (- (* -1/6 (* a (sin b))) (* -1/2 (cos b)))))) (cos b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (sin b))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* -1/6 (* (pow a 2) (sin b)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* 1/120 (* (pow a 2) (sin b)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* a (+ (sin b) (* (pow a 2) (+ (* -1/6 (sin b)) (* (pow a 2) (+ (* -1/5040 (* (pow a 2) (sin b))) (* 1/120 (sin b))))))))))
#s(approx (sin a) #s(hole binary64 a))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* -1/6 (pow a 2))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* 1/120 (pow a 2)) 1/6))))))
#s(approx (sin a) #s(hole binary64 (* a (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/120 (* -1/5040 (pow a 2)))) 1/6))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (cos b)))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* -1/2 (* (pow a 2) (cos b))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* 1/24 (* (pow a 2) (cos b))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos b) (* (pow a 2) (+ (* -1/2 (cos b)) (* (pow a 2) (+ (* -1/720 (* (pow a 2) (cos b))) (* 1/24 (cos b)))))))))
#s(approx (cos a) #s(hole binary64 1))
#s(approx (cos a) #s(hole binary64 (+ 1 (* -1/2 (pow a 2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* 1/24 (pow a 2)) 1/2)))))
#s(approx (cos a) #s(hole binary64 (+ 1 (* (pow a 2) (- (* (pow a 2) (+ 1/24 (* -1/720 (pow a 2)))) 1/2)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (+ (* 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)))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (* (pow b 2) r)) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* 1/2 (* a (* b r))) (* (pow b 2) r))) (* b r))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (+ (* a (+ (* a (+ (* 1/2 (* b r)) (* a (* b (- (* 1/3 (* b r)) (* -1/2 (* b r))))))) (* (pow b 2) r))) (* b r))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (* b r)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* 1/2 (* a r)) (* b r))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ r (* a (+ (* a (- (* a (- (* 1/3 (* b r)) (* -1/2 (* b r)))) (* -1/2 r))) (* b r))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* a (- (* a (- (* -1 (* a (+ (* -1/2 (/ (* r (sin b)) (pow (cos b) 2))) (+ (* 1/6 (/ (* r (sin b)) (pow (cos b) 2))) (/ (* (sin b) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b))))) (cos b)))))) (+ (* -1 (/ (* r (pow (sin b) 2)) (pow (cos b) 3))) (* -1/2 (/ r (cos b)))))) (* -1 (/ (* r (sin b)) (pow (cos b) 2))))) (/ r (cos b)))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* -1 (* a (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* -1/2 (* a (cos b))) (sin b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos b) (* a (- (* a (+ (* -1/2 (cos b)) (* 1/6 (* a (sin b))))) (sin b))))))
#s(approx (+ a b) #s(hole binary64 b))
#s(approx (+ a b) #s(hole binary64 (+ a b)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (/ (* a (* r (* (cos (- (* 1/2 (PI)) b)) (sin b)))) (pow (sin (- (* 1/2 (PI)) b)) 2)) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (* a (- (* -1 (* a (+ (* -1 (/ (* r (* (pow (cos (- (* 1/2 (PI)) b)) 2) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 3))) (* -1/2 (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))) (* -1 (/ (* r (* (cos (- (* 1/2 (PI)) b)) (sin b))) (pow (sin (- (* 1/2 (PI)) b)) 2))))) (/ (* r (sin b)) (sin (- (* 1/2 (PI)) b))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (+ (* 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))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) b)) (* -1 (* a (cos (- (* 1/2 (PI)) b)))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) b)) (* a (+ (* -1 (cos (- (* 1/2 (PI)) b))) (* -1/2 (* a (sin (- (* 1/2 (PI)) b)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (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)))))))))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (* 1/2 (PI)) b)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (+ (* -1 a) (* 1/2 (PI))) b)))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 b)))
#s(approx (neg (+ a b)) #s(hole binary64 (- (* -1 a) b)))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ -1 (- (* (sin a) (sin b)) (* (cos a) (cos b))))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* (sin a) (sin b)) (* (cos a) (cos b)))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* (sin a) (sin b))))
#s(approx (sin a) #s(hole binary64 (sin a)))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (* (cos a) (cos b))))
#s(approx (cos a) #s(hole binary64 (cos a)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* b (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (+ (/ r (cos a)) (/ (* b (* r (sin a))) (pow (cos a) 2)))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* a (* b r))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* a (+ (* b r) (/ r a)))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (+ a b))))
#s(approx (+ a b) #s(hole binary64 (* a (+ 1 (/ b a)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (+ a b)))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* a (- (* 1/2 (/ (PI) a)) (+ 1 (/ b a))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* a (- (* -1 (/ b a)) 1))))
#s(approx (- (* (cos a) (cos b)) (* (sin a) (sin b))) #s(hole binary64 (- (* (cos a) (cos b)) (* (sin a) (sin b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- b (* -1 a))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* a (+ (* -1 (* b r)) (* -1 (/ r a)))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (- b (* -1 a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- b (* -1 a)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* a (- (* -1 (/ b a)) 1)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ (* -1 a) (* 1/2 (PI))) b)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (+ (* -1 a) (* 1/2 (PI))) b))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 (* a (+ 1 (* -1 (/ (- (* 1/2 (PI)) b) a)))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 (* a (+ 1 (/ b a))))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (/ (* b r) (cos a))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* b (+ (* b (+ (* -1 (* b (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))))
#s(approx (* (sin b) (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))))) #s(hole binary64 (* b (+ (* b (+ (* b (+ (* -1 (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (* b (+ (* -1 (/ (* (sin a) (- (* 1/6 (/ r (cos a))) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (cos a))) (+ (* -1/6 (/ (* r (sin a)) (pow (cos a) 2))) (* 1/2 (/ (* r (sin a)) (pow (cos a) 2)))))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* -1/6 (pow b 2))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* 1/120 (pow b 2)) 1/6))))))
#s(approx (sin b) #s(hole binary64 (* b (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/120 (* -1/5040 (pow b 2)))) 1/6))))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (/ r (cos a))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* b (+ (* b (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) #s(hole binary64 (+ (* b (+ (* b (+ (* 1/2 (/ r (cos a))) (+ (* b (+ (* -1/6 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/2 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* 1/2 (/ r (cos a))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3)))) (cos a))))) (/ (* r (pow (sin a) 2)) (pow (cos a) 3))))) (/ (* r (sin a)) (pow (cos a) 2)))) (/ r (cos a)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (/ 1 (cos a))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (/ 1 (cos a)) (/ (* b (sin a)) (pow (cos a) 2)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* b (- (* b (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) #s(hole binary64 (+ (* b (- (* b (- (+ (* -1 (* b (+ (* -1 (/ (* (sin a) (- (* 1/2 (/ 1 (cos a))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (cos a))) (+ (* -1/2 (/ (sin a) (pow (cos a) 2))) (* 1/6 (/ (sin a) (pow (cos a) 2))))))) (* 1/2 (/ 1 (cos a)))) (* -1 (/ (pow (sin a) 2) (pow (cos a) 3))))) (* -1 (/ (sin a) (pow (cos a) 2))))) (/ 1 (cos a)))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (* -1 (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (sin a)) (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (+ (sin a) (* 1/2 (* b (cos a))))) (cos a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) #s(hole binary64 (- (* b (+ (sin a) (* b (- (* -1/6 (* b (sin a))) (* -1/2 (cos a)))))) (cos a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (sin a))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* -1/6 (* (pow b 2) (sin a)))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* 1/120 (* (pow b 2) (sin a)))))))))
#s(approx (* (sin a) (sin b)) #s(hole binary64 (* b (+ (sin a) (* (pow b 2) (+ (* -1/6 (sin a)) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) (sin a))) (* 1/120 (sin a))))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* -1/2 (* (pow b 2) (cos a))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* 1/24 (* (pow b 2) (cos a))))))))
#s(approx (* (cos b) (cos a)) #s(hole binary64 (+ (cos a) (* (pow b 2) (+ (* -1/2 (cos a)) (* (pow b 2) (+ (* -1/720 (* (pow b 2) (cos a))) (* 1/24 (cos a)))))))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* -1/2 (pow b 2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* 1/24 (pow b 2)) 1/2)))))
#s(approx (cos b) #s(hole binary64 (+ 1 (* (pow b 2) (- (* (pow b 2) (+ 1/24 (* -1/720 (pow b 2)))) 1/2)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (* 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))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* b (- (* -1 (* b (+ (* -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)))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (+ (* b (- (* b (- (* -1 (* b (+ (* -1/2 (/ (* r (sin a)) (pow (cos a) 2))) (+ (* 1/6 (/ (* r (sin a)) (pow (cos a) 2))) (/ (* (sin a) (+ (* -1 (/ (* r (pow (sin a) 2)) (pow (cos a) 3))) (* -1/2 (/ r (cos a))))) (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)))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* -1 (* b (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* -1/2 (* b (cos a))) (sin a))))))
#s(approx (cos (+ a b)) #s(hole binary64 (+ (cos a) (* b (- (* b (+ (* -1/2 (cos a)) (* 1/6 (* b (sin a))))) (sin a))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* b r) (sin (- (* 1/2 (PI)) a)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* b (+ (/ r (sin (- (* 1/2 (PI)) a))) (/ (* b (* r (cos (- (* 1/2 (PI)) a)))) (pow (sin (- (* 1/2 (PI)) a)) 2))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* 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)))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (* 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)))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* -1/6 (* (pow b 2) r))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* 1/120 (* (pow b 2) r))))))))
#s(approx (* (sin b) r) #s(hole binary64 (* b (+ r (* (pow b 2) (+ (* -1/6 r) (* (pow b 2) (+ (* -1/5040 (* (pow b 2) r)) (* 1/120 r)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) a))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) a)) (* -1 (* b (cos (- (* 1/2 (PI)) a)))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (sin (- (* 1/2 (PI)) a)) (* b (+ (* -1 (cos (- (* 1/2 (PI)) a))) (* -1/2 (* b (sin (- (* 1/2 (PI)) a)))))))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (+ (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)))))))))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (* 1/2 (PI)) a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (- (+ (* -1 b) (* 1/2 (PI))) a)))
#s(approx (neg (+ a b)) #s(hole binary64 (- (* -1 b) a)))
#s(approx (sin b) #s(hole binary64 (sin b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (/ (* (pow b 2) (* r (sin a))) (pow (cos a) 2))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) #s(hole binary64 (* (pow b 2) (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (/ (* b (* r (sin a))) (pow (cos a) 2))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* b (+ (/ r (* b (cos a))) (/ (* r (sin a)) (pow (cos a) 2))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* b (+ (* a r) (/ r b)))))
#s(approx (+ a b) #s(hole binary64 (* b (+ 1 (/ a b)))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* b (- (* 1/2 (/ (PI) b)) (+ 1 (/ a b))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* b (- (* -1 (/ a b)) 1))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(hole binary64 (/ (* r (sin b)) (cos (- a (* -1 b))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(hole binary64 (* -1 (* b (+ (* -1 (/ r (* b (cos a)))) (* -1 (/ (* r (sin a)) (pow (cos a) 2))))))))
#s(approx (+ (* (* b r) a) r) #s(hole binary64 (* -1 (* b (+ (* -1 (* a r)) (* -1 (/ r b)))))))
#s(approx (/ r (cos (+ a b))) #s(hole binary64 (/ r (cos (- a (* -1 b))))))
#s(approx (cos (+ a b)) #s(hole binary64 (cos (- a (* -1 b)))))
#s(approx (+ a b) #s(hole binary64 (* -1 (* b (- (* -1 (/ a b)) 1)))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) #s(hole binary64 (/ (* r (sin b)) (sin (- (+ (* -1 b) (* 1/2 (PI))) a)))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) #s(hole binary64 (sin (- (+ (* -1 b) (* 1/2 (PI))) a))))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) #s(hole binary64 (* -1 (* b (+ 1 (* -1 (/ (- (* 1/2 (PI)) a) b)))))))
#s(approx (neg (+ a b)) #s(hole binary64 (* -1 (* b (+ 1 (/ a b))))))
Outputs
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(*.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 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(sin.f64 b)
b
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) r)
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 r #s(literal -1 binary64)) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 (+.f64 a b))))
(/.f64 r (cos.f64 (+.f64 a b)))
r
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 (cos.f64 (+.f64 a b)))))
(/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))
(/.f64 #s(literal -1 binary64) (neg.f64 (cos.f64 (+.f64 a b))))
#s(literal -1 binary64)
(neg.f64 (cos.f64 (+.f64 a b)))
(sin.f64 (neg.f64 (+.f64 (+.f64 a b) (*.f64 #s(literal 1/2 binary64) (PI.f64)))))
(sin.f64 (neg.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b)))
(sin.f64 (+.f64 (+.f64 (+.f64 a b) (*.f64 #s(literal 1/2 binary64) (PI.f64))) (PI.f64)))
(sin.f64 (+.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b) (PI.f64)))
(fma.f64 (sin.f64 a) (sin.f64 b) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(fma.f64 (sin.f64 a) (sin.f64 b) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(fma.f64 (sin.f64 a) (sin.f64 b) (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(fma.f64 (sin.f64 b) (sin.f64 a) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(fma.f64 (sin.f64 b) (sin.f64 a) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(fma.f64 (sin.f64 b) (sin.f64 a) (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a)))
(cos.f64 (+.f64 (fabs.f64 (+.f64 a b)) (PI.f64)))
(cos.f64 (+.f64 (-.f64 (neg.f64 b) a) (PI.f64)))
(cos.f64 (+.f64 (+.f64 a b) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 a b) (*.f64 #s(literal 1/2 binary64) (PI.f64))) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(cos.f64 (+.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(+.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a)))
(+.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (neg.f64 (cos.f64 a)) (cos.f64 b)))
(+.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (neg.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(/.f64 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(sin.f64 a)
a
(*.f64 (cos.f64 b) (cos.f64 a))
(*.f64 (cos.f64 a) (cos.f64 b))
(/.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 b) (fabs.f64 a))) (cos.f64 (-.f64 (neg.f64 b) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 b) a)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) (neg.f64 a))) (cos.f64 (-.f64 (fabs.f64 b) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) (fabs.f64 a))) (cos.f64 (-.f64 (fabs.f64 b) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 b) a)) (cos.f64 (-.f64 (fabs.f64 b) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 b (neg.f64 a))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 b (fabs.f64 a))) (cos.f64 (-.f64 b (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 (neg.f64 a) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) (fabs.f64 b))) (cos.f64 (-.f64 (neg.f64 a) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 a) b)) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) (neg.f64 b))) (cos.f64 (-.f64 (fabs.f64 a) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) (fabs.f64 b))) (cos.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 (fabs.f64 a) b)) (cos.f64 (-.f64 (fabs.f64 a) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a (neg.f64 b))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a (fabs.f64 b))) (cos.f64 (-.f64 a (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (cos.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (cos.f64 (+.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (cos.f64 (+.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64)))))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (cos.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64)))))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) (neg.f64 b))) (cos.f64 (+.f64 a b))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) (fabs.f64 b))) (sin.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (sin.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (neg.f64 a))) (sin.f64 (+.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (neg.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (fabs.f64 a))) (sin.f64 (+.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) a)) (sin.f64 (+.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (neg.f64 b))) (sin.f64 (+.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (neg.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (fabs.f64 b))) (sin.f64 (+.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) (fabs.f64 b)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) b)) (sin.f64 (+.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))) b))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) (neg.f64 a))) (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) (fabs.f64 a))) (sin.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) (fabs.f64 a)))) #s(literal 2 binary64))
(/.f64 (+.f64 (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a)) (sin.f64 (+.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))) #s(literal 2 binary64))
(/.f64 (+.f64 (cos.f64 (+.f64 a b)) (cos.f64 (-.f64 b a))) #s(literal 2 binary64))
(sin.f64 (+.f64 (fabs.f64 b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))
(fma.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 b) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 b))))
(fma.f64 (sin.f64 b) #s(literal 0 binary64) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(-.f64 (*.f64 (neg.f64 (sin.f64 b)) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (*.f64 (cos.f64 b) (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))))
(-.f64 (*.f64 (neg.f64 (sin.f64 b)) (cos.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (cos.f64 b) (sin.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(-.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (sin.f64 b)))
(cos.f64 (fabs.f64 (neg.f64 b)))
(cos.f64 (fabs.f64 (fabs.f64 b)))
(cos.f64 (neg.f64 b))
(cos.f64 (fabs.f64 b))
(cos.f64 b)
(+.f64 (*.f64 (sin.f64 b) #s(literal 0 binary64)) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 b)) #s(literal 0 binary64)) (*.f64 (cos.f64 b) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 b)) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 b))))
(sin.f64 (+.f64 (fabs.f64 a) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (+.f64 a (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.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)))
(fma.f64 #s(literal 1 binary64) (cos.f64 a) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 a))))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (*.f64 (cos.f64 a) (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))))
(-.f64 (*.f64 (neg.f64 (sin.f64 a)) (cos.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (cos.f64 a) (sin.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(-.f64 (*.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 #s(literal 0 binary64) (sin.f64 a)))
(cos.f64 (fabs.f64 (neg.f64 a)))
(cos.f64 (fabs.f64 (fabs.f64 a)))
(cos.f64 (neg.f64 a))
(cos.f64 (fabs.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 (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) (neg.f64 (sin.f64 a))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 r b) a r)) b))
(*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 r b) a r)) b)
(*.f64 b #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 r b) a r)))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 r b) a r))
(fma.f64 (*.f64 a b) r r)
(fma.f64 (*.f64 r b) a r)
(fma.f64 a (*.f64 r b) r)
(fma.f64 b (*.f64 a r) r)
(-.f64 (*.f64 (*.f64 a b) r) (neg.f64 r))
(-.f64 r (*.f64 (neg.f64 a) (*.f64 r b)))
(-.f64 r (neg.f64 (*.f64 (*.f64 a b) r)))
(+.f64 (*.f64 (*.f64 a b) r) r)
(+.f64 r (*.f64 (*.f64 a b) r))
(*.f64 r b)
(*.f64 b r)
(*.f64 (/.f64 r (cos.f64 #s(approx (+ a b) b))) (sin.f64 b))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(/.f64 (neg.f64 r) (neg.f64 (cos.f64 #s(approx (+ a b) b))))
(/.f64 r (cos.f64 #s(approx (+ a b) b)))
(sin.f64 (+.f64 (fabs.f64 #s(approx (+ a b) b)) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (+.f64 #s(approx (+ a b) b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (neg.f64 #s(approx (+ a b) b))))
(fma.f64 (sin.f64 #s(approx (+ a b) b)) #s(literal 0 binary64) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) #s(literal 0 binary64) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b)) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 #s(approx (+ a b) b)))))
(-.f64 (*.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) (cos.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (cos.f64 #s(approx (+ a b) b)) (sin.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(cos.f64 (fabs.f64 (fabs.f64 #s(approx (+ a b) b))))
(cos.f64 (fabs.f64 (neg.f64 #s(approx (+ a b) b))))
(cos.f64 (fabs.f64 #s(approx (+ a b) b)))
(cos.f64 (neg.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
(+.f64 (*.f64 (sin.f64 #s(approx (+ a b) b)) #s(literal 0 binary64)) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 #s(approx (+ a b) b)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) #s(literal 0 binary64)) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
#s(approx (+ a b) b)
(*.f64 (/.f64 r (cos.f64 #s(approx (+ a b) b))) (sin.f64 b))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(*.f64 (sin.f64 b) r)
(*.f64 r (sin.f64 b))
(sin.f64 (+.f64 (fabs.f64 #s(approx (+ a b) b)) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (+.f64 #s(approx (+ a b) b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) (neg.f64 #s(approx (+ a b) b))))
(fma.f64 (sin.f64 #s(approx (+ a b) b)) #s(literal 0 binary64) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) #s(literal 0 binary64) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b)) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 #s(approx (+ a b) b)))))
(-.f64 (*.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) (cos.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (cos.f64 #s(approx (+ a b) b)) (sin.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(cos.f64 (fabs.f64 (fabs.f64 #s(approx (+ a b) b))))
(cos.f64 (fabs.f64 (neg.f64 #s(approx (+ a b) b))))
(cos.f64 (fabs.f64 #s(approx (+ a b) b)))
(cos.f64 (neg.f64 #s(approx (+ a b) b)))
(cos.f64 #s(approx (+ a b) b))
(+.f64 (*.f64 (sin.f64 #s(approx (+ a b) b)) #s(literal 0 binary64)) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 #s(approx (+ a b) b)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 #s(approx (+ a b) b))) #s(literal 0 binary64)) (*.f64 (cos.f64 #s(approx (+ a b) b)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (neg.f64 #s(approx (+ a b) b)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 #s(approx (+ a b) b)))
(-.f64 (neg.f64 #s(approx (+ a b) b)) (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) (neg.f64 #s(approx (+ a b) b)))
(+.f64 (neg.f64 #s(approx (+ a b) b)) (*.f64 #s(literal 1/2 binary64) (PI.f64)))
(neg.f64 #s(approx (+ a b) b))
(*.f64 #s(literal 1/2 binary64) (PI.f64))
(*.f64 (PI.f64) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (PI.f64)) #s(literal -2 binary64))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 2 binary64)
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (sin.f64 a) (sin.f64 b)))))
(*.f64 (sin.f64 b) (/.f64 r (-.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (sin.f64 a) (sin.f64 b)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (-.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (sin.f64 a) (sin.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (sin.f64 a) (sin.f64 b))))
(neg.f64 (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))))
(fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(fma.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(fma.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(-.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)))
(+.f64 (*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64))) (neg.f64 (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (cos.f64 b) #s(approx (cos a) #s(literal 1 binary64)))
(*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b))
#s(approx (cos a) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (neg.f64 (/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 a b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (neg.f64 (/.f64 (neg.f64 r) (cos.f64 (+.f64 a b)))))
#s(approx r r)
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (*.f64 r b) (fma.f64 b (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (fma.f64 b (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r))
#s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a b #s(literal 1 binary64)) r))
#s(approx (* b r) (*.f64 r b))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 (+.f64 a b))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (sin b) r) (*.f64 (sin.f64 b) r))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (neg.f64 (*.f64 (*.f64 r b) (neg.f64 (fma.f64 b (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (neg.f64 (*.f64 (neg.f64 (fma.f64 b (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))) r)))
#s(approx (+ (* (* b r) a) r) (neg.f64 (*.f64 (neg.f64 (fma.f64 a b #s(literal 1 binary64))) r)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 r (tan.f64 b)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 a (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 r (tan.f64 b)) #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) a (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))))) a (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (fma.f64 (fma.f64 (*.f64 r (tan.f64 b)) #s(literal 1/2 binary64) (fma.f64 (fma.f64 #s(literal -1/6 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 (*.f64 (fma.f64 (*.f64 r (tan.f64 b)) #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) (sin.f64 b)) (cos.f64 b)))) a (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) a (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))))) a (*.f64 r (tan.f64 b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 b)))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 a (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 r (cos.f64 b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (fma.f64 (fma.f64 (/.f64 r (cos.f64 b)) #s(literal 1/2 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) a (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))))) a (/.f64 r (cos.f64 b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (fma.f64 (fma.f64 (/.f64 r (cos.f64 b)) #s(literal 1/2 binary64) (fma.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) #s(literal -1/6 binary64) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 (*.f64 (fma.f64 (/.f64 r (cos.f64 b)) #s(literal 1/2 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))) (sin.f64 b)) (cos.f64 b)))) a (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) a (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))))) a (/.f64 r (cos.f64 b))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (/.f64 #s(literal 1 binary64) (cos.f64 b)))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 a (/.f64 (sin.f64 b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) a) (neg.f64 (/.f64 (sin.f64 b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 a) (fma.f64 (/.f64 (sin.f64 b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) (sin.f64 b)) (cos.f64 b)))) (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 b)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) a) (neg.f64 (/.f64 (sin.f64 b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (/.f64 #s(literal 1 binary64) (cos.f64 b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (neg.f64 (cos.f64 b)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (sin.f64 b) a) (cos.f64 b)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 b) a) #s(literal 1/2 binary64) (sin.f64 b)) a) (cos.f64 b)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (fma.f64 a (fma.f64 (*.f64 (sin.f64 b) a) #s(literal -1/6 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 b))) (sin.f64 b)) a) (cos.f64 b)))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 (*.f64 a a) #s(literal -1/6 binary64)) (sin.f64 b) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 a a) (sin.f64 b)) #s(literal 1/120 binary64) (*.f64 (sin.f64 b) #s(literal -1/6 binary64))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 b) (*.f64 (fma.f64 #s(literal 1/120 binary64) (sin.f64 b) (*.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 a a)) (sin.f64 b))) (*.f64 a a))) (*.f64 a a) (sin.f64 b)) a))
#s(approx (sin a) a)
#s(approx (sin a) (*.f64 (fma.f64 (*.f64 a a) #s(literal -1/6 binary64) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (sin a) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 a a) #s(literal 1/120 binary64)) (*.f64 a a) #s(literal -1/6 binary64)) (*.f64 a a) #s(literal 1 binary64)) a))
#s(approx (* (cos b) (cos a)) (cos.f64 b))
#s(approx (* (cos b) (cos a)) (fma.f64 (*.f64 (*.f64 a a) #s(literal -1/2 binary64)) (cos.f64 b) (cos.f64 b)))
#s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 a a)) (cos.f64 b) (*.f64 #s(literal 1/24 binary64) (cos.f64 b))) (*.f64 a a) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (*.f64 a a) (cos.f64 b)))
#s(approx (cos a) #s(literal 1 binary64))
#s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (cos a) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 a a) #s(literal 1/24 binary64)) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (fma.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (/.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) (sin.f64 b)) (cos.f64 b)))) a)) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) #s(literal 3 binary64)) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) a) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (*.f64 r (tan.f64 b))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (*.f64 (*.f64 a b) r) #s(literal 1/2 binary64) (*.f64 (*.f64 b b) r)) a (*.f64 r b)))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) b) a (*.f64 #s(literal 1/2 binary64) (*.f64 r b))) a (*.f64 (*.f64 b b) r)) a (*.f64 r b)))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 r b) a r))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (fma.f64 (*.f64 a r) #s(literal 1/2 binary64) (*.f64 r b)) a r))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 r b) #s(literal 5/6 binary64)) a (*.f64 #s(literal 1/2 binary64) r)) a (*.f64 r b)) a r))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 b)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) (neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (/.f64 r (cos.f64 b))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (fma.f64 (sin.f64 b) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 b)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))) (cos.f64 b)) (/.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 (sin.f64 b) r)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 b)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))) r) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) a) (neg.f64 (/.f64 (*.f64 (sin.f64 b) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (/.f64 r (cos.f64 b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 a (-.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)) (cos.f64 b)))
#s(approx (+ a b) b)
#s(approx (+ a b) (+.f64 a b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 r (tan.f64 b)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 r (tan.f64 b) (/.f64 (*.f64 (*.f64 a r) (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 b))) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b)))))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (-.f64 (*.f64 (neg.f64 a) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))))) (neg.f64 (/.f64 (*.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 b)) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (*.f64 r (tan.f64 b))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 b)) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) #s(literal -1/2 binary64) (fma.f64 (neg.f64 (neg.f64 (sin.f64 b))) (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 3 binary64)))))) (cos.f64 b)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 b)) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) #s(literal 1/6 binary64)))) a)) (fma.f64 #s(literal -1/2 binary64) (*.f64 r (tan.f64 b)) (neg.f64 (*.f64 r (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))) (sin.f64 b)) (pow.f64 (cos.f64 b) #s(literal 3 binary64))))))) a) (neg.f64 (/.f64 (*.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 b))) (sin.f64 b)) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) b))))))) a (*.f64 r (tan.f64 b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 b))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 a) (neg.f64 (neg.f64 (sin.f64 b))) (cos.f64 b)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 a (fma.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64) (neg.f64 (neg.f64 (neg.f64 (sin.f64 b))))) (cos.f64 b)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 a (fma.f64 a (fma.f64 (*.f64 #s(literal 1/6 binary64) a) (neg.f64 (neg.f64 (sin.f64 b))) (*.f64 #s(literal -1/2 binary64) (cos.f64 b))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 b))))) (cos.f64 b)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b))
#s(approx (neg (+ a b)) (neg.f64 b))
#s(approx (neg (+ a b)) (-.f64 (neg.f64 b) a))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (neg.f64 (cos.f64 (+.f64 a b))))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) (sin.f64 b)))
#s(approx (sin a) (sin.f64 a))
#s(approx (* (cos b) (cos a)) (*.f64 (cos.f64 b) (cos.f64 a)))
#s(approx (cos a) (cos.f64 a))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 b (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (cos.f64 a))) b))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 b (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (cos.f64 a))))
#s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))
#s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 b a) #s(literal 1 binary64)) a))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (neg.f64 a))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (*.f64 (-.f64 (-.f64 (*.f64 (/.f64 (PI.f64) a) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (/.f64 b a)) a))
#s(approx (neg (+ a b)) (*.f64 (-.f64 (/.f64 (neg.f64 b) a) #s(literal 1 binary64)) a))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (+ (* (* b r) a) r) (*.f64 (neg.f64 a) (fma.f64 (neg.f64 b) r (neg.f64 (/.f64 r a)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 (+.f64 a b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (neg.f64 a) (-.f64 (/.f64 (neg.f64 b) a) #s(literal 1 binary64))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (*.f64 (neg.f64 a) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a)) #s(literal 1 binary64))))
#s(approx (neg (+ a b)) (*.f64 (neg.f64 a) (+.f64 (/.f64 b a) #s(literal 1 binary64))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (fma.f64 (neg.f64 b) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/6 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal 1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/6 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) (sin.f64 a)) (cos.f64 a)))) b (neg.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal 1/6 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))))) b (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (sin b) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) (*.f64 b b) #s(literal -1/6 binary64)) (*.f64 b b) #s(literal 1 binary64)) b))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 a)))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))) b (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))) b (/.f64 r (cos.f64 a))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (fma.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal 1/3 binary64) (/.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 r (cos.f64 a)) (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))) (sin.f64 a)) (cos.f64 a))) b (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) b (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))) b (/.f64 r (cos.f64 a))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (/.f64 #s(literal 1 binary64) (cos.f64 a)))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 b (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 (-.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) b) (neg.f64 (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a)))) (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) (sin.f64 a)) (cos.f64 a)))) (-.f64 (/.f64 #s(literal 1/2 binary64) (cos.f64 a)) (neg.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b) (neg.f64 (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 #s(literal 1 binary64) (cos.f64 a))))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (neg.f64 (cos.f64 a)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (sin.f64 a) b) (cos.f64 a)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (fma.f64 (*.f64 (cos.f64 a) b) #s(literal 1/2 binary64) (sin.f64 a)) b) (cos.f64 a)))
#s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (fma.f64 b (fma.f64 (*.f64 (sin.f64 a) b) #s(literal -1/6 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 a))) (sin.f64 a)) b) (cos.f64 a)))
#s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 a) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/6 binary64) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal 1/120 binary64) (*.f64 (sin.f64 a) #s(literal -1/6 binary64))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* (sin a) (sin b)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 a) (*.f64 (fma.f64 (*.f64 (*.f64 b b) (sin.f64 a)) #s(literal -1/5040 binary64) (*.f64 (sin.f64 a) #s(literal 1/120 binary64))) (*.f64 b b))) (*.f64 b b) (sin.f64 a)) b))
#s(approx (* (cos b) (cos a)) (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/2 binary64)) (cos.f64 a) (cos.f64 a)))
#s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal 1/24 binary64)) (cos.f64 a) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (* (cos b) (cos a)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/720 binary64)) (cos.f64 a) (*.f64 #s(literal 1/24 binary64) (cos.f64 a))) (*.f64 b b) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (*.f64 b b) (cos.f64 a)))
#s(approx (cos b) (fma.f64 (*.f64 b b) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (*.f64 b b) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (cos b) (fma.f64 (fma.f64 (fma.f64 (*.f64 b b) #s(literal -1/720 binary64) #s(literal 1/24 binary64)) (*.f64 b b) #s(literal -1/2 binary64)) (*.f64 b b) #s(literal 1 binary64)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal -1/3 binary64) (neg.f64 (/.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) (sin.f64 a)) (cos.f64 a)))) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))))) b) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (-.f64 (*.f64 (neg.f64 b) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (fma.f64 (-.f64 (*.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal -1/3 binary64) (/.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))) (sin.f64 a)) (cos.f64 a))) b)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 b (-.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)) (cos.f64 a)))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 b (/.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) b) (neg.f64 (/.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (neg.f64 b) (fma.f64 (/.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) #s(literal -1/3 binary64) (neg.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) (/.f64 (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64)))))) (cos.f64 a))))) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) #s(literal -1/6 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) r) (pow.f64 (cos.f64 a) #s(literal 3 binary64))))))) b) (neg.f64 (/.f64 (*.f64 (neg.f64 (neg.f64 (sin.f64 a))) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))) b (/.f64 r (cos.f64 a))) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/6 binary64)) r r) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 b b) #s(literal 1/120 binary64)) r (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (* (sin b) r) (*.f64 (fma.f64 (fma.f64 (*.f64 b b) (fma.f64 (*.f64 (*.f64 b b) #s(literal -1/5040 binary64)) r (*.f64 #s(literal 1/120 binary64) r)) (*.f64 #s(literal -1/6 binary64) r)) (*.f64 b b) r) b))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 a))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 b) (neg.f64 (neg.f64 (sin.f64 a))) (cos.f64 a)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 b (fma.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64) (neg.f64 (neg.f64 (neg.f64 (sin.f64 a))))) (cos.f64 a)))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 b (fma.f64 b (fma.f64 (*.f64 #s(literal 1/6 binary64) b) (neg.f64 (neg.f64 (sin.f64 a))) (*.f64 #s(literal -1/2 binary64) (cos.f64 a))) (neg.f64 (neg.f64 (neg.f64 (sin.f64 a))))) (cos.f64 a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))
#s(approx (neg (+ a b)) (-.f64 (neg.f64 b) a))
#s(approx (sin b) (sin.f64 b))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (/.f64 (*.f64 (*.f64 (sin.f64 a) r) (*.f64 b b)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))
#s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 (fma.f64 r (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (*.f64 (cos.f64 a) b))) (*.f64 b b)))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (/.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (fma.f64 r (/.f64 (sin.f64 a) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a))))) (/.f64 r (*.f64 (cos.f64 a) b))) b))
#s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))
#s(approx (+ a b) (*.f64 (+.f64 (/.f64 a b) #s(literal 1 binary64)) b))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (*.f64 (-.f64 (-.f64 (*.f64 (/.f64 (PI.f64) b) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (/.f64 a b)) b))
#s(approx (neg (+ a b)) (*.f64 (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64)) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
#s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 r (*.f64 (cos.f64 a) b))) (neg.f64 (/.f64 (*.f64 (sin.f64 a) r) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))))))))
#s(approx (+ (* (* b r) a) r) (*.f64 (neg.f64 b) (fma.f64 (neg.f64 a) r (neg.f64 (/.f64 r b)))))
#s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 (+.f64 a b))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 (+.f64 a b)))
#s(approx (+ a b) (*.f64 (neg.f64 b) (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64))))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))))
#s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (sin.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a)))
#s(approx (+ (neg (+ a b)) (/ (PI) 2)) (*.f64 (neg.f64 b) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b)) #s(literal 1 binary64))))
#s(approx (neg (+ a b)) (*.f64 (neg.f64 b) (+.f64 (/.f64 a b) #s(literal 1 binary64))))

eval69.0ms (1.6%)

Memory
-11.8MiB live, 80.2MiB allocated; 16ms collecting garbage
Compiler

Compiled 5 277 to 2 007 computations (62% saved)

prune50.0ms (1.2%)

Memory
23.5MiB live, 113.7MiB allocated; 8ms collecting garbage
Pruning

63 alts after pruning (54 fresh and 9 done)

PrunedKeptTotal
New33627363
Fresh52732
Picked145
Done055
Total34263405
Accuracy
99.9%
Counts
405 → 63
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))))
99.5%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
60.8%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 #s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a)) (sin.f64 b))))
67.2%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
58.9%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
58.9%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
42.7%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) (*.f64 (sin.f64 a) (sin.f64 b))))
43.4%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (sin.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (sin.f64 a) (sin.f64 b))))
63.0%
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
36.6%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 #s(approx (neg (+ a b)) (*.f64 (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64)) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
42.5%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))))
42.8%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))))
42.7%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
22.4%
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (neg.f64 a))))
78.8%
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
62.0%
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
60.1%
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 a)))
56.7%
(/.f64 (*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)))))
99.5%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
60.9%
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sin.f64 a) (cos.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)) (*.f64 (cos.f64 a) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) b)))))
43.5%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
42.9%
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
65.7%
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) (fma.f64 (/.f64 a b) b b))))
59.7%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a))))
58.4%
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
56.0%
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
56.5%
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
78.9%
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
78.8%
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
43.3%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
62.0%
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
43.5%
(*.f64 (sin.f64 b) (/.f64 r (sin.f64 (+.f64 #s(approx (+ a b) b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
62.0%
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
58.5%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a)))))
59.8%
(*.f64 (sin.f64 b) (/.f64 r #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b)))))
62.0%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b)))))
99.5%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (fma.f64 (sin.f64 b) (sin.f64 a) (*.f64 (neg.f64 (cos.f64 b)) (cos.f64 a))))))
99.3%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (-.f64 (*.f64 (neg.f64 (sin.f64 a)) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (*.f64 (cos.f64 a) (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64))))))))))
99.5%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
67.2%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 #s(approx (sin a) a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
43.3%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (sin.f64 (+.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b) (PI.f64))))))
42.5%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (sin.f64 (neg.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b))))))
39.8%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (cos.f64 (+.f64 (-.f64 (neg.f64 b) a) (PI.f64))))))
39.8%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (cos.f64 (+.f64 (+.f64 a b) (PI.f64))))))
58.5%
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) #s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (sin.f64 a) b) (cos.f64 a))))))
60.1%
(*.f64 (sin.f64 b) #s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 a))))
56.0%
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
56.8%
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (*.f64 (cos.f64 b) (cos.f64 a))))))
43.3%
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
56.7%
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (/.f64 r (cos.f64 a)) b))
39.5%
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
38.1%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b) (tan.f64 a) (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))) b))
46.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) #s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (*.f64 r b) a))) b))
56.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (sin.f64 a) r) b) (neg.f64 (cos.f64 a)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 r))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) a)))) (neg.f64 (cos.f64 a)))) b))
62.0%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
31.3%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))) b))
31.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))) b))
19.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))) b))
56.6%
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r)) b))
38.5%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
39.7%
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
Compiler

Compiled 1 978 to 1 431 computations (27.7% saved)

regimes107.0ms (2.5%)

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

4 calls:

24.0ms
a
23.0ms
r
23.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
22.0ms
b
Results
AccuracySegmentsBranch
99.5%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
99.5%1r
99.5%1a
99.5%1b
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes184.0ms (4.3%)

Memory
-0.5MiB live, 97.6MiB allocated; 8ms collecting garbage
Counts
77 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (/.f64 r (cos.f64 a)) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) #s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (*.f64 r b) a))) b))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b) (tan.f64 a) (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))) b))
(*.f64 (sin.f64 b) #s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 a))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (neg.f64 a))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
(*.f64 (/.f64 r (cos.f64 (+.f64 a b))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a 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 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b))))
(*.f64 (sin.f64 b) (*.f64 r #s(approx (/ 1 (cos (+ a b))) (/.f64 #s(literal 1 binary64) (cos.f64 b)))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 #s(approx (+ a b) b)))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))))
(*.f64 (sin.f64 b) (/.f64 r (sin.f64 (+.f64 #s(approx (+ a b) b) (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(*.f64 (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b))) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 (neg.f64 #s(approx (+ a b) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 r (/.f64 (sin.f64 b) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b) a))))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) (fma.f64 (/.f64 a b) b b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (cos.f64 (+.f64 (+.f64 a b) (PI.f64))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 (+.f64 (-.f64 (neg.f64 b) a) (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (cos.f64 (+.f64 (-.f64 (neg.f64 b) a) (PI.f64))))))
(*.f64 (*.f64 (sin.f64 b) r) (/.f64 #s(literal 1 binary64) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) (+.f64 a b)))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (sin.f64 (neg.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b))))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (sin.f64 (+.f64 (-.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) a) b) (PI.f64))))))
(/.f64 (*.f64 r (sin.f64 b)) (sin.f64 #s(approx (+ (* (PI) 1/2) (+ a b)) (*.f64 (+.f64 (/.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a) b) #s(literal 1 binary64)) b))))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 (+.f64 #s(approx (neg (+ a b)) (*.f64 (-.f64 (/.f64 (neg.f64 a) b) #s(literal 1 binary64)) b)) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) a))))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 a) (sin.f64 b) (cos.f64 b)))))
(*.f64 (sin.f64 b) (/.f64 r #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (fma.f64 (neg.f64 b) (sin.f64 a) (cos.f64 a)))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) #s(approx (- (* (sin a) (sin b)) (* (cos b) (cos a))) (-.f64 (*.f64 (sin.f64 a) b) (cos.f64 a))))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (tan.f64 a) (/.f64 r (cos.f64 a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* r (/ 1 (cos a))) (* (tan a) (* (/ r (cos a)) b))) (*.f64 (fma.f64 (/.f64 b (cos.f64 a)) (tan.f64 a) (/.f64 #s(literal 1 binary64) (cos.f64 a))) r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) (*.f64 (tan.f64 a) (*.f64 (/.f64 r (cos.f64 a)) b))) b))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)))))
(/.f64 (*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)))))
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 (sin.f64 a) #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (*.f64 (cos.f64 b) (cos.f64 a))))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) #s(approx (* (sin a) (sin b)) (*.f64 (sin.f64 b) a))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 #s(literal -1 binary64) (-.f64 (*.f64 #s(approx (sin a) a) (sin.f64 b)) (*.f64 (cos.f64 b) (cos.f64 a))))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 a (-.f64 (*.f64 (*.f64 (cos.f64 b) a) #s(literal -1/2 binary64)) (sin.f64 b)) (cos.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (fma.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) b) #s(literal -1/2 binary64)) (sin.f64 a)) (cos.f64 a))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) b))) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) #s(literal 1 binary64)) (sin.f64 (+.f64 b (*.f64 #s(literal 1/2 binary64) (PI.f64))))) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 #s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a)) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 #s(approx (sin a) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 a a) #s(literal 1 binary64)) a)) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 #s(approx (cos a) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 a a) #s(literal -1/2 binary64)) (*.f64 a a) #s(literal 1 binary64))) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
Outputs
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 a b))))
Calls

4 calls:

88.0ms
a
56.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
19.0ms
r
18.0ms
b
Results
AccuracySegmentsBranch
78.9%1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
78.9%1r
78.9%1a
78.9%1b
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes28.0ms (0.7%)

Memory
0.9MiB live, 45.5MiB allocated; 4ms collecting garbage
Counts
23 → 3
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (/.f64 r (cos.f64 a)) b))
#s(approx (/ (* (sin b) r) (sin (+ (neg (+ a b)) (/ (PI) 2)))) (*.f64 (/.f64 r (cos.f64 a)) b))
(/.f64 #s(approx (* r (sin b)) (*.f64 b r)) (cos.f64 (+.f64 a b)))
#s(approx (/ (* r (sin b)) (sin (+ (* (PI) 1/2) (+ a b)))) (/.f64 (*.f64 b r) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) a))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 a)) #s(approx (* (tan a) (* (/ r (cos a)) b)) (*.f64 (*.f64 r b) a))) b))
(/.f64 (*.f64 r #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b))) (cos.f64 (+.f64 a b)))
(*.f64 #s(approx (sin b) (*.f64 (fma.f64 (*.f64 b b) #s(literal -1/6 binary64) #s(literal 1 binary64)) b)) (*.f64 r (/.f64 #s(literal 1 binary64) (cos.f64 (+.f64 a b)))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (fma.f64 (*.f64 (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64)))) b) (tan.f64 a) (/.f64 r #s(approx (cos a) (fma.f64 (*.f64 a a) #s(literal -1/2 binary64) #s(literal 1 binary64))))) b))
(*.f64 (sin.f64 b) #s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 a))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
(/.f64 (*.f64 (sin.f64 b) r) #s(approx (sin (+ (neg (+ a b)) (/ (PI) 2))) (cos.f64 a)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 #s(approx (+ a b) b)))
(/.f64 (*.f64 r (sin.f64 b)) #s(approx (cos (+ a b)) (cos.f64 a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 #s(approx (+ a b) b)))
(/.f64 (*.f64 (sin.f64 b) r) (sin.f64 #s(approx (+ (neg (+ a b)) (/ (PI) 2)) (neg.f64 a))))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
(*.f64 (sin.f64 b) #s(approx (* r (/ -1 (- (* (sin a) (sin b)) (* (cos b) (cos a))))) (/.f64 r (cos.f64 a))))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 #s(approx (+ a b) b))))
Calls

4 calls:

9.0ms
r
6.0ms
b
6.0ms
a
6.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
AccuracySegmentsBranch
79.0%3b
68.2%3r
65.6%3(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
78.9%3a
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes6.0ms (0.1%)

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

1 calls:

5.0ms
b
Results
AccuracySegmentsBranch
79.0%3b
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes6.0ms (0.1%)

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

1 calls:

5.0ms
b
Results
AccuracySegmentsBranch
78.9%3b
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes14.0ms (0.3%)

Memory
-19.7MiB live, 24.5MiB allocated; 3ms collecting garbage
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 (tan.f64 b) r))
Calls

4 calls:

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

Compiled 11 to 17 computations (-54.5% saved)

regimes10.0ms (0.2%)

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

Total -13.5b remaining (-34.9%)

Threshold costs -13.5b (-34.9%)

Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (*.f64 a b) r))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) (fma.f64 (*.f64 b r) a r)) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 b r))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (fma.f64 (*.f64 (*.f64 b b) r) a (*.f64 r b))))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 a r (/.f64 r b)) b))) b))
#s(approx (/ (* r (sin b)) (cos (+ a b))) (*.f64 #s(approx (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) #s(approx (+ (* (* b r) a) r) (*.f64 (fma.f64 r b (/.f64 r a)) a))) b))
Outputs
#s(approx (/ (* r (sin b)) (cos (+ a b))) #s(approx (* (+ (* (* (/ r (cos a)) b) (tan a)) (/ r (cos a))) b) (*.f64 b r)))
Calls

4 calls:

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

Compiled 11 to 17 computations (-54.5% saved)

bsearch30.0ms (0.7%)

Memory
-14.3MiB live, 41.3MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
3.0ms
2.5665684814549536e+21
2.8174903337397765e+21
24.0ms
-278792962824.6034
-0.00018540473265803829
Samples
13.0ms99×1valid
5.0ms77×0valid
Compiler

Compiled 329 to 353 computations (-7.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-cos: 5.0ms (38.6% of total)
ival-sin: 3.0ms (23.1% of total)
adjust: 2.0ms (15.4% of total)
ival-add!: 1.0ms (7.7% of total)
ival-div!: 1.0ms (7.7% of total)
ival-mult!: 1.0ms (7.7% of total)

bsearch1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
2.5665684814549536e+21
2.8174903337397765e+21
1.0ms
-278792962824.6034
-0.00018540473265803829
Compiler

Compiled 331 to 355 computations (-7.3% saved)

bsearch32.0ms (0.7%)

Memory
6.3MiB live, 52.2MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
2.8174903337397765e+21
2.7003873968313147e+26
1.0ms
-278792962824.6034
-0.00018540473265803829
Samples
23.0ms138×1valid
1.0ms0valid
Compiler

Compiled 449 to 489 computations (-8.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-cos: 10.0ms (50.6% of total)
ival-sin: 5.0ms (25.3% of total)
adjust: 3.0ms (15.2% of total)
ival-add!: 1.0ms (5.1% of total)
ival-div!: 1.0ms (5.1% of total)
ival-mult!: 1.0ms (5.1% of total)

derivations200.0ms (4.6%)

Memory
9.3MiB live, 201.1MiB allocated; 11ms collecting garbage
Stop Event
fuel
Compiler

Compiled 91 to 63 computations (30.8% saved)

preprocess122.0ms (2.8%)

Memory
-62.4MiB live, 102.8MiB allocated; 77ms collecting garbage
Remove

(negabs r)

Compiler

Compiled 395 to 343 computations (13.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...