Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3

Time bar (total: 3.5s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample1.1s (30.5%)

Memory
27.2MiB live, 1 004.2MiB allocated; 163ms collecting garbage
Samples
825.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 593.0ms
ival-cos: 299.0ms (50.4% of total)
ival-sin: 192.0ms (32.4% of total)
ival-mult!: 79.0ms (13.3% of total)
ival-add!: 21.0ms (3.5% of total)
adjust: 2.0ms (0.3% of total)
Bogosity

preprocess74.0ms (2.1%)

Memory
-5.5MiB live, 48.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03696
112290
234590
3102390
4762590
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 16 to 16 computations (0% saved)

series11.0ms (0.3%)

Memory
17.8MiB live, 17.8MiB allocated; 0ms collecting garbage
Counts
8 → 29
Calls
Call 1
Inputs
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 x (cos.f64 y))
x
(cos.f64 y)
y
(*.f64 z (sin.f64 y))
z
(sin.f64 y)
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* z (sin y)) #s(hole binary64 (* y z)))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@inf
((+ (* x (cos y)) (* z (sin y))) (* x (cos y)) x (cos y) y (* z (sin y)) z (sin y))
2.0ms
y
@0
((+ (* x (cos y)) (* z (sin y))) (* x (cos y)) x (cos y) y (* z (sin y)) z (sin y))
1.0ms
x
@0
((+ (* x (cos y)) (* z (sin y))) (* x (cos y)) x (cos y) y (* z (sin y)) z (sin y))
1.0ms
x
@-inf
((+ (* x (cos y)) (* z (sin y))) (* x (cos y)) x (cos y) y (* z (sin y)) z (sin y))
1.0ms
z
@-inf
((+ (* x (cos y)) (* z (sin y))) (* x (cos y)) x (cos y) y (* z (sin y)) z (sin y))

rewrite311.0ms (8.8%)

Memory
2.6MiB live, 187.2MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0143496
0151484
1949480
08660435
130420435
Stop Event
iter-limit
node-limit
iter-limit
Counts
37 → 68
Calls
Call 1
Inputs
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(*.f64 x (cos.f64 y))
x
(cos.f64 y)
y
(*.f64 z (sin.f64 y))
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* z (sin y)) #s(hole binary64 (* y z)))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
Outputs
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64))) (fma.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x)) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) (sin.f64 y)) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (fma.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) (sin.f64 y))))))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x)) (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
(neg.f64 (-.f64 (*.f64 (neg.f64 z) (sin.f64 y)) (*.f64 (cos.f64 y) x)))
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (neg.f64 (neg.f64 z)) (sin.f64 y)))
(fma.f64 (cos.f64 y) x (neg.f64 (*.f64 (neg.f64 z) (sin.f64 y))))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
(fma.f64 z (sin.f64 y) (*.f64 (cos.f64 y) x))
(fma.f64 x (cos.f64 y) (*.f64 (neg.f64 (neg.f64 z)) (sin.f64 y)))
(fma.f64 x (cos.f64 y) (neg.f64 (*.f64 (neg.f64 z) (sin.f64 y))))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) z))
(-.f64 (*.f64 (sin.f64 y) z) (*.f64 (neg.f64 x) (cos.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) (sin.f64 y)))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 (neg.f64 z)) (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) x) (neg.f64 (*.f64 (neg.f64 z) (sin.f64 y))))
(+.f64 (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) z))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
x
(sin.f64 (+.f64 (neg.f64 y) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (fabs.f64 y) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 y (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(fma.f64 (sin.f64 y) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 y) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 y)))
(cos.f64 (neg.f64 (fabs.f64 y)))
(cos.f64 (fabs.f64 (fabs.f64 y)))
(cos.f64 (neg.f64 y))
(cos.f64 (fabs.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (sin.f64 y) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (*.f64 (cos.f64 y) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
y
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)))
#s(approx (* x (cos y)) (*.f64 (cos.f64 y) x))
#s(approx x x)
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (* x (cos y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x))
#s(approx (* x (cos y)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal -1/2 binary64) x)) y) y x))
#s(approx (* x (cos y)) (fma.f64 (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/24 binary64) x)) y) y (*.f64 #s(literal -1/2 binary64) x)) y) y x))
#s(approx (cos y) #s(literal 1 binary64))
#s(approx (cos y) (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 y y) #s(literal 1/24 binary64)) (*.f64 y y) #s(literal -1/2 binary64)) y) y #s(literal 1 binary64)))
#s(approx y y)
#s(approx (* z (sin y)) (*.f64 z y))
#s(approx (* z (sin y)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y))
#s(approx (* z (sin y)) (*.f64 (fma.f64 (*.f64 z (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) z) y))
#s(approx (* z (sin y)) (*.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 z (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 y y) (*.f64 #s(literal -1/6 binary64) z)) y) y z) y))
#s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y #s(literal 1 binary64)) y))
#s(approx (cos y) (cos.f64 y))
#s(approx (sin y) (sin.f64 y))
#s(approx z z)
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))

eval7.0ms (0.2%)

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

Compiled 504 to 243 computations (51.8% saved)

prune8.0ms (0.2%)

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

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New471259
Fresh000
Picked101
Done000
Total481260
Accuracy
99.9%
Counts
60 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
45.1%
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
37.2%
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
54.6%
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
66.7%
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
77.9%
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z (sin.f64 y)))
50.1%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
50.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
51.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
85.0%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
46.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
Compiler

Compiled 348 to 328 computations (5.7% saved)

series31.0ms (0.9%)

Memory
-3.6MiB live, 40.3MiB allocated; 6ms collecting garbage
Counts
31 → 92
Calls
Call 1
Inputs
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
(cos.f64 y)
y
x
(*.f64 (sin.f64 y) z)
(sin.f64 y)
z
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
(fma.f64 z y x)
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x)
(fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z)
(fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x))
#s(literal -1/6 binary64)
(*.f64 z y)
(*.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z (sin.f64 y)))
(*.f64 x #s(approx (cos y) #s(literal 1 binary64)))
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(*.f64 x (cos.f64 y))
(*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 y y)
Outputs
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* -1/6 (* (pow y 2) z)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (+ (* -1/2 (* x y)) (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1/6 (* y z))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (+ (* -1/2 x) (* -1/6 (* y z)))))
#s(approx (* -1/2 x) #s(hole binary64 (* -1/2 x)))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1/2 (* x y))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* x (+ (* -1/2 y) (+ (* -1/6 (/ (* (pow y 2) z) x)) (/ z x))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* x (- (* -1/6 (/ (* y z) x)) 1/2))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ z (* -1/6 (* (pow y 2) z))) x)) (* 1/2 y))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* x (+ 1/2 (* 1/6 (/ (* y z) x)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (sin y) z) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* (sin y) z) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* -1/2 (* x y)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (- (* 1/120 (pow y 2)) 1/6)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1/6 (* (pow y 2) z))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* y (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* 1/120 (pow y 5))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* (pow y 5) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* (pow y 5) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* 1/120 (pow y 4))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* (pow y 4) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* (pow y 4) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (* 1/120 (pow y 2))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (* (pow y 2) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1 (/ (+ (* -1 (/ z y)) (* 1/2 x)) y)) (* -1/6 z)))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* y (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* -1 (* (pow y 5) (- (* 1/6 (/ 1 (pow y 2))) 1/120)))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* -1 (* (pow y 5) (- (* 1/6 (/ 1 (pow y 2))) (+ 1/120 (/ 1 (pow y 4))))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ (* -1/2 (* x y)) (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* z (+ 1 (* -1/6 (pow y 2))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* z (+ 1 (+ (* -1/2 (/ (* x y) z)) (* -1/6 (pow y 2)))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* z (+ (* -1/2 (/ x z)) (* -1/6 y)))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* z (- (* 1/6 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* z (- (+ (* 1/6 (pow y 2)) (* 1/2 (/ (* x y) z))) 1)))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* z (+ (* 1/6 y) (* 1/2 (/ x z)))))))
Calls

9 calls:

TimeVariablePointExpression
6.0ms
x
@inf
((+ (* (cos y) x) (* (sin y) z)) (cos y) y x (* (sin y) z) (sin y) z (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+ (* -1/6 (* z y)) (* -1/2 x)) -1/6 (* z y) (* -1/2 x) -1/2 (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (cos y) 1 (* z (sin y)) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)) (sin y) (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) 1/120 (* y y))
4.0ms
z
@inf
((+ (* (cos y) x) (* (sin y) z)) (cos y) y x (* (sin y) z) (sin y) z (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+ (* -1/6 (* z y)) (* -1/2 x)) -1/6 (* z y) (* -1/2 x) -1/2 (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (cos y) 1 (* z (sin y)) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)) (sin y) (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) 1/120 (* y y))
3.0ms
x
@0
((+ (* (cos y) x) (* (sin y) z)) (cos y) y x (* (sin y) z) (sin y) z (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+ (* -1/6 (* z y)) (* -1/2 x)) -1/6 (* z y) (* -1/2 x) -1/2 (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (cos y) 1 (* z (sin y)) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)) (sin y) (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) 1/120 (* y y))
3.0ms
y
@-inf
((+ (* (cos y) x) (* (sin y) z)) (cos y) y x (* (sin y) z) (sin y) z (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+ (* -1/6 (* z y)) (* -1/2 x)) -1/6 (* z y) (* -1/2 x) -1/2 (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (cos y) 1 (* z (sin y)) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)) (sin y) (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) 1/120 (* y y))
3.0ms
y
@inf
((+ (* (cos y) x) (* (sin y) z)) (cos y) y x (* (sin y) z) (sin y) z (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+ (* -1/6 (* z y)) (* -1/2 x)) -1/6 (* z y) (* -1/2 x) -1/2 (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (cos y) 1 (* z (sin y)) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)) (sin y) (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) 1/120 (* y y))

rewrite390.0ms (11.1%)

Memory
17.3MiB live, 205.5MiB allocated; 48ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04132266
04472190
126312190
0105582101
1374502101
Stop Event
iter-limit
node-limit
iter-limit
Counts
123 → 282
Calls
Call 1
Inputs
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
(cos.f64 y)
y
x
(*.f64 (sin.f64 y) z)
(sin.f64 y)
z
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
(fma.f64 z y x)
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x)
(fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z)
(fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x))
#s(literal -1/6 binary64)
(*.f64 z y)
(*.f64 #s(literal -1/2 binary64) x)
#s(literal -1/2 binary64)
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z (sin.f64 y)))
(*.f64 x #s(approx (cos y) #s(literal 1 binary64)))
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(*.f64 x (cos.f64 y))
(*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 y y)
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* -1/6 (* (pow y 2) z)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (+ (* -1/2 (* x y)) (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1/6 (* y z))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (+ (* -1/2 x) (* -1/6 (* y z)))))
#s(approx (* -1/2 x) #s(hole binary64 (* -1/2 x)))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1/2 (* x y))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* x (+ (* -1/2 y) (+ (* -1/6 (/ (* (pow y 2) z) x)) (/ z x))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* x (- (* -1/6 (/ (* y z) x)) 1/2))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (+ z (* -1/6 (* (pow y 2) z))) x)) (* 1/2 y))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* x (+ 1/2 (* 1/6 (/ (* y z) x)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (sin y) z) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* (sin y) z) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* -1/2 (* x y)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (- (* 1/120 (pow y 2)) 1/6)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1/6 (* (pow y 2) z))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* y (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* 1/120 (pow y 5))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* (pow y 5) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* (pow y 5) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* 1/120 (pow y 4))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* (pow y 4) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) #s(hole binary64 (* (pow y 4) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (* 1/120 (pow y 2))))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(hole binary64 (* (pow y 2) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* (pow y 2) (+ (* -1 (/ (+ (* -1 (/ z y)) (* 1/2 x)) y)) (* -1/6 z)))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* y (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* -1 (* (pow y 5) (- (* 1/6 (/ 1 (pow y 2))) 1/120)))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) #s(hole binary64 (* -1 (* (pow y 5) (- (* 1/6 (/ 1 (pow y 2))) (+ 1/120 (/ 1 (pow y 4))))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (+ (* -1/2 (* x y)) (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* z (+ 1 (* -1/6 (pow y 2))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* z (+ 1 (+ (* -1/2 (/ (* x y) z)) (* -1/6 (pow y 2)))))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* z (+ (* -1/2 (/ x z)) (* -1/6 y)))))
#s(approx (+ (* (cos y) x) (* (sin y) z)) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* z (- (* 1/6 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) #s(hole binary64 (* -1 (* z (- (+ (* 1/6 (pow y 2)) (* 1/2 (/ (* x y) z))) 1)))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) #s(hole binary64 (* -1 (* z (+ (* 1/6 y) (* 1/2 (/ x z)))))))
Outputs
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 y)) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 (sin.f64 y)) z) (*.f64 (neg.f64 (sin.f64 y)) z) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 (sin.f64 y)) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) (sin.f64 y)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 z) (sin.f64 y)) (*.f64 (neg.f64 z) (sin.f64 y)) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 (sin.f64 y) z)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 y) x) (neg.f64 (*.f64 (sin.f64 y) z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) z)))))
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
(fma.f64 z (sin.f64 y) (*.f64 (cos.f64 y) x))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) z))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 (sin.f64 y)) z))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) (sin.f64 y)))
(-.f64 (*.f64 (cos.f64 y) x) (neg.f64 (*.f64 (sin.f64 y) z)))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) z))
(sin.f64 (+.f64 (neg.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 y (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 y)))
(cos.f64 (neg.f64 (fabs.f64 y)))
(cos.f64 (fabs.f64 (fabs.f64 y)))
(cos.f64 (neg.f64 y))
(cos.f64 (fabs.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
y
x
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(sin.f64 y)
z
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 y y) y)) (pow.f64 (neg.f64 x) #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (*.f64 z y) (fma.f64 x x (*.f64 (*.f64 z y) (neg.f64 x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) x) (pow.f64 (*.f64 (neg.f64 y) z) #s(literal 3 binary64))) (fma.f64 x x (fma.f64 (*.f64 (neg.f64 y) z) (*.f64 (neg.f64 y) z) (*.f64 x (*.f64 (neg.f64 y) z)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) x) (pow.f64 (neg.f64 (*.f64 z y)) #s(literal 3 binary64))) (fma.f64 x x (fma.f64 (*.f64 z y) (*.f64 z y) (*.f64 x (neg.f64 (*.f64 z y))))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 z y) (*.f64 z y))) (-.f64 x (*.f64 z y)))
(/.f64 (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (*.f64 x x)) (-.f64 (*.f64 z y) x))
(/.f64 (fma.f64 (*.f64 x x) x (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 y y) y))) (fma.f64 x x (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (*.f64 x (*.f64 z y)))))
(/.f64 (fma.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (*.f64 z y) (*.f64 (*.f64 x x) x)) (fma.f64 (*.f64 z y) (*.f64 z y) (-.f64 (*.f64 x x) (*.f64 (*.f64 z y) x))))
(fma.f64 z y x)
(fma.f64 y z x)
(-.f64 (*.f64 z y) (neg.f64 x))
(-.f64 x (*.f64 (neg.f64 y) z))
(-.f64 x (neg.f64 (*.f64 z y)))
(+.f64 (*.f64 z y) x)
(+.f64 x (*.f64 z y))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 3 binary64)) (pow.f64 (neg.f64 x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64)) (fma.f64 x x (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) (neg.f64 x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) x) (pow.f64 (*.f64 (neg.f64 y) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z)) #s(literal 3 binary64))) (fma.f64 x x (fma.f64 (*.f64 (neg.f64 y) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z)) (*.f64 (neg.f64 y) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z)) (*.f64 x (*.f64 (neg.f64 y) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z))))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) x) (pow.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y)) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64)) (*.f64 x (neg.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 3 binary64)) (*.f64 (*.f64 x x) x)) (+.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64)) (-.f64 (*.f64 x x) (*.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) x))))
(/.f64 (fma.f64 (*.f64 x x) x (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y x)
(fma.f64 y (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) x)
(-.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) (neg.f64 x))
(-.f64 x (*.f64 (neg.f64 y) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z)))
(-.f64 x (neg.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y)))
(+.f64 (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y) x)
(+.f64 x (*.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 3 binary64)) (*.f64 (*.f64 z z) (neg.f64 z))) (+.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64)) (fma.f64 z z (*.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) (neg.f64 z)))))
(/.f64 (-.f64 (*.f64 (*.f64 z z) z) (pow.f64 (*.f64 (neg.f64 y) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x))) #s(literal 3 binary64))) (fma.f64 z z (fma.f64 (*.f64 (neg.f64 y) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x))) (*.f64 (neg.f64 y) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x))) (*.f64 z (*.f64 (neg.f64 y) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)))))))
(/.f64 (-.f64 (*.f64 (*.f64 z z) z) (pow.f64 (neg.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y)) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64)) (*.f64 z (neg.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) z))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64))) (-.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 3 binary64)) (*.f64 (*.f64 z z) z)) (+.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) z))))
(/.f64 (fma.f64 (*.f64 z z) z (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64)) (*.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y)))))
(fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z)
(fma.f64 y (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) z)
(-.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) (neg.f64 z))
(-.f64 z (*.f64 (neg.f64 y) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x))))
(-.f64 z (neg.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y)))
(+.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) z)
(+.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 z z) z)) (pow.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) x)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x) (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (neg.f64 (*.f64 #s(literal -1/2 binary64) x))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 z z) z)) (*.f64 (*.f64 (*.f64 x x) x) #s(literal 1/8 binary64))) (fma.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 #s(literal 1/2 binary64) x)))))
(/.f64 (-.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 x x) x)) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 z y)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x) (fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 z y)) (*.f64 #s(literal 1/6 binary64) (*.f64 z y)) (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal 1/6 binary64) (*.f64 z y))))))
(/.f64 (-.f64 (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 x x) x)) (pow.f64 (neg.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x) (fma.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) x) (neg.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))) (-.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (*.f64 z y) #s(literal -1/6 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x))) (-.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 #s(literal -1/2 binary64) x)))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 z z) z))) (fma.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x) (-.f64 (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64))) (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (*.f64 z y) #s(literal -1/6 binary64))))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 y y) y)) (*.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 x x) x))) (fma.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 #s(literal -1/2 binary64) x)))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) z (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))
(fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))
(-.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (neg.f64 (*.f64 #s(literal -1/2 binary64) x)))
(-.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 #s(literal 1/2 binary64) x))
(-.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal 1/6 binary64) (*.f64 z y)))
(-.f64 (*.f64 #s(literal -1/2 binary64) x) (neg.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 z y) #s(literal -1/6 binary64)) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))
#s(literal -1/6 binary64)
(*.f64 z y)
(*.f64 y z)
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 x #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (pow.f64 (*.f64 (neg.f64 z) (sin.f64 y)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (fma.f64 (*.f64 (neg.f64 z) (sin.f64 y)) (*.f64 (neg.f64 z) (sin.f64 y)) (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (neg.f64 z) (sin.f64 y))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (pow.f64 (neg.f64 (*.f64 (sin.f64 y) z)) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (neg.f64 (*.f64 (sin.f64 y) z))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64))) (-.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (sin.f64 y) z)))
(/.f64 (fma.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (sin.f64 y) z)))))
(fma.f64 #s(approx (cos y) #s(literal 1 binary64)) x (*.f64 (sin.f64 y) z))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 z (sin.f64 y) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 x #s(approx (cos y) #s(literal 1 binary64)) (*.f64 (sin.f64 y) z))
(-.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (neg.f64 z) (sin.f64 y)))
(-.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (neg.f64 (*.f64 (sin.f64 y) z)))
(+.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)
(*.f64 x #s(approx (cos y) #s(literal 1 binary64)))
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 (sin.f64 y) z)
(*.f64 z (sin.f64 y))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) (*.f64 (cos.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 z) #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))) (*.f64 (neg.f64 z) #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 y) x) (neg.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 2 binary64))) (-.f64 (*.f64 (cos.f64 y) x) (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 y) x) (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 (cos.f64 y) x))
(fma.f64 (cos.f64 y) x (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z))
(fma.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) (*.f64 (cos.f64 y) x))
(fma.f64 x (cos.f64 y) (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z))
(-.f64 (*.f64 (cos.f64 y) x) (*.f64 (neg.f64 z) #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(-.f64 (*.f64 (cos.f64 y) x) (neg.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z)))
(+.f64 (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) x) (*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
(*.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z)
(*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
(*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)
(*.f64 y (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 y #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)) #s(literal 3 binary64))) (fma.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)) (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y))) (*.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1 binary64) y) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y)) (*.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y)))))
(fma.f64 #s(literal 1 binary64) y (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y))
(fma.f64 y #s(literal 1 binary64) (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) y))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal -1 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64)))))
(fma.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) y) y))
(/.f64 (+.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal 3 binary64))) (+.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1/120 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 (*.f64 y y) #s(literal 1/120 binary64))) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 (*.f64 y y) #s(literal 1/120 binary64))) #s(literal 1/36 binary64)) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64) #s(literal -1/216 binary64)) (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (-.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) (+.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal 1/6 binary64)))))
(neg.f64 (-.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1/120 binary64))))
(fma.f64 (*.f64 #s(literal 1/120 binary64) y) y #s(literal -1/6 binary64))
(fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(-.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal 1/6 binary64))
(+.f64 (*.f64 (*.f64 y y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1/120 binary64)))
#s(literal 1/120 binary64)
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y)))
(fabs.f64 (neg.f64 (*.f64 y y)))
(fabs.f64 (*.f64 y y))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)))
#s(approx x x)
#s(approx (+ (* z y) x) (*.f64 z y))
#s(approx (+ (* z y) x) (fma.f64 z y x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (+.f64 (fma.f64 (*.f64 x y) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) z))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (*.f64 z y) #s(literal -1/6 binary64)))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)))
#s(approx (* -1/2 x) (*.f64 #s(literal -1/2 binary64) x))
#s(approx (* x (cos y)) (*.f64 (cos.f64 y) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 z (/.f64 (sin.f64 y) x) (cos.f64 y)) x))
#s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (+.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x)) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (fma.f64 #s(literal -1/2 binary64) y (/.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) x)) x))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (neg.f64 (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (sin.f64 y) z) x)) (neg.f64 (cos.f64 y))) x)))
#s(approx (+ (* z y) x) (neg.f64 (*.f64 (neg.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64))) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) #s(literal -1 binary64)) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (-.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) (neg.f64 (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x))) #s(literal 1 binary64)) x)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) y (neg.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) x))) x)))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (neg.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 z y) x) #s(literal 1/2 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 x y) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (cos y) #s(literal 1 binary64))
#s(approx (cos y) (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 y y) #s(literal 1/24 binary64)) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx y y)
#s(approx (* (sin y) z) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal 1/120 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y) z) y))
#s(approx (* (sin y) z) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (*.f64 y y) z) (*.f64 #s(literal 1/120 binary64) z)) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y) z) y))
#s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) z)
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (*.f64 x y) #s(literal -1/2 binary64) z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z))
#s(approx (* x (cos y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x))
#s(approx (* x (cos y)) (fma.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal 1/24 binary64) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (* x (cos y)) (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/720 binary64) (*.f64 #s(literal 1/24 binary64) x)) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (fma.f64 (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (+ (* 1/120 (* y y)) -1/6) #s(literal -1/6 binary64))
#s(approx (+ (* 1/120 (* y y)) -1/6) (fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64)))
#s(approx (* y y) (*.f64 y y))
#s(approx (cos y) (cos.f64 y))
#s(approx (sin y) (sin.f64 y))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (+.f64 (fma.f64 #s(literal -1/6 binary64) z (/.f64 x (*.f64 (*.f64 y y) y))) (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y)))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y)))) (*.f64 y y)))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) y))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) #s(literal 1/120 binary64)))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (*.f64 (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (*.f64 (-.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/120 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (*.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/120 binary64)))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (*.f64 (pow.f64 y #s(literal 4 binary64)) (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 y y)))))
#s(approx (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (*.f64 (-.f64 (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/120 binary64)) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (pow.f64 y #s(literal 4 binary64))))
#s(approx (+ (* 1/120 (* y y)) -1/6) (*.f64 (*.f64 y y) #s(literal 1/120 binary64)))
#s(approx (+ (* 1/120 (* y y)) -1/6) (*.f64 (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (*.f64 y y)))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 y) (+.f64 (neg.f64 z) (neg.f64 (/.f64 x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (/.f64 z y)) y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (neg.f64 (/.f64 (+.f64 (neg.f64 z) (neg.f64 (/.f64 x y))) y))) y)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (fma.f64 #s(literal -1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x (/.f64 (neg.f64 z) y)) y))) (*.f64 y y)))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (neg.f64 y) (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) z))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (neg.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 y y)) #s(literal 1/120 binary64)) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)))))
#s(approx (* (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) y) (neg.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/6 binary64) (*.f64 y y)) (fma.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/120 binary64))) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) x))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x z) y) z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y (/.f64 x z))) z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal -1/2 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64)) z))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) y)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (neg.f64 z) (+.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 y) x) z)) (neg.f64 (sin.f64 y)))))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 z) (+.f64 (neg.f64 y) (neg.f64 (/.f64 x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (neg.f64 y) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (neg.f64 z) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) y (neg.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x) z)))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (neg.f64 z) (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
#s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (neg.f64 z) (-.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y))) #s(literal 1 binary64))))
#s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (neg.f64 z) (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) y))))

eval41.0ms (1.2%)

Memory
-28.9MiB live, 58.8MiB allocated; 13ms collecting garbage
Compiler

Compiled 3 590 to 1 389 computations (61.3% saved)

prune19.0ms (0.5%)

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

25 alts after pruning (23 fresh and 2 done)

PrunedKeptTotal
New26317280
Fresh167
Picked325
Done000
Total26725292
Accuracy
99.9%
Counts
292 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.9%
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
99.8%
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
45.1%
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
37.2%
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
66.7%
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
50.6%
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
50.7%
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
47.9%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
35.4%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64))) (-.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))) y x))
49.9%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
32.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
32.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
51.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
85.0%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
46.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
2.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
32.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
44.4%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
41.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
20.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
Compiler

Compiled 927 to 897 computations (3.2% saved)

series40.0ms (1.1%)

Memory
-44.1MiB live, 59.9MiB allocated; 13ms collecting garbage
Counts
30 → 78
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
(*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z)
(fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y))
(cos.f64 y)
y
(/.f64 x z)
x
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))
(*.f64 (*.f64 (*.f64 y y) y) z)
(*.f64 (*.f64 y y) y)
(*.f64 y y)
#s(literal -1/6 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y)))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))
(fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))
(/.f64 x y)
#s(literal -1/2 binary64)
(*.f64 #s(literal -1/6 binary64) z)
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (sin y)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (sin y) (/ (* x (cos y)) z))))
#s(approx (/ x z) #s(hole binary64 (/ x z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (+ (* -1/2 (* x (pow y 2))) (* -1/6 (* (pow y 3) z)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/6 z)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (+ (* -1/2 (/ x y)) (* -1/6 z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (* (cos y) x) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (/ (* x (cos y)) z)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (* x (+ (/ (cos y) z) (/ (sin y) x)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/2 (* x (pow y 2)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* x (+ (* -1/2 (pow y 2)) (* -1/6 (/ (* (pow y 3) z) x))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/2 (/ x y))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* x (- (* -1/6 (/ z x)) (* 1/2 (/ 1 y))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (cos y) z)) (* -1 (/ (sin y) x)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ (* (pow y 3) z) x)) (* 1/2 (pow y 2)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ z x)) (* 1/2 (/ 1 y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ y (/ x z))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* -1/2 (/ (* x y) z)))) (/ x z))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* y (+ (* -1/2 (/ x z)) (* -1/6 y))))) (/ x z))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (* (* y y) y) z) #s(hole binary64 (* (pow y 3) z)))
#s(approx (* (* y y) y) #s(hole binary64 (pow y 3)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* (pow y 2) (+ (* -1/2 x) (* -1/6 (* y z))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (/ (+ (* -1/2 x) (* -1/6 (* y z))) y)))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (* (+ (* (cos y) (/ x z)) (sin y)) z) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (/ (+ (* x (cos y)) (* z (sin y))) z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (* -1/6 (pow y 3))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* z (- (* -1/2 (/ x (* y z))) 1/6))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* z (+ (* 1/6 (pow y 3)) (* 1/2 (/ (* x (pow y 2)) z)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* z (+ 1/6 (* 1/2 (/ x (* y z))))))))
Calls

9 calls:

TimeVariablePointExpression
8.0ms
x
@0
((+ (* x (cos y)) (* z (sin y))) (* (+ (* (cos y) (/ x z)) (sin y)) z) (+ (* (cos y) (/ x z)) (sin y)) (cos y) y (/ x z) x z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (* z y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (* (* y y) y) z) -1/6) (* (* (* y y) y) z) (* (* y y) y) (* y y) -1/6 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (/ x y) -1/2 (* -1/6 z) (+ (* (sin y) z) (* (cos y) x)) (* (cos y) x) (cos y) 1)
7.0ms
z
@-inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* (cos y) (/ x z)) (sin y)) z) (+ (* (cos y) (/ x z)) (sin y)) (cos y) y (/ x z) x z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (* z y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (* (* y y) y) z) -1/6) (* (* (* y y) y) z) (* (* y y) y) (* y y) -1/6 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (/ x y) -1/2 (* -1/6 z) (+ (* (sin y) z) (* (cos y) x)) (* (cos y) x) (cos y) 1)
4.0ms
y
@-inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* (cos y) (/ x z)) (sin y)) z) (+ (* (cos y) (/ x z)) (sin y)) (cos y) y (/ x z) x z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (* z y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (* (* y y) y) z) -1/6) (* (* (* y y) y) z) (* (* y y) y) (* y y) -1/6 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (/ x y) -1/2 (* -1/6 z) (+ (* (sin y) z) (* (cos y) x)) (* (cos y) x) (cos y) 1)
4.0ms
x
@-inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* (cos y) (/ x z)) (sin y)) z) (+ (* (cos y) (/ x z)) (sin y)) (cos y) y (/ x z) x z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (* z y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (* (* y y) y) z) -1/6) (* (* (* y y) y) z) (* (* y y) y) (* y y) -1/6 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (/ x y) -1/2 (* -1/6 z) (+ (* (sin y) z) (* (cos y) x)) (* (cos y) x) (cos y) 1)
4.0ms
x
@inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* (cos y) (/ x z)) (sin y)) z) (+ (* (cos y) (/ x z)) (sin y)) (cos y) y (/ x z) x z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* z y) x) (* z y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (* (* y y) y) z) -1/6) (* (* (* y y) y) z) (* (* y y) y) (* y y) -1/6 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (/ x y) -1/2 (* -1/6 z) (+ (* (sin y) z) (* (cos y) x)) (* (cos y) x) (cos y) 1)

rewrite263.0ms (7.5%)

Memory
32.1MiB live, 259.5MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03682017
03901935
123461935
095511778
1339461778
Stop Event
iter-limit
node-limit
iter-limit
Counts
108 → 209
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
(*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z)
(fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y))
(cos.f64 y)
y
(/.f64 x z)
x
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))
(*.f64 (*.f64 (*.f64 y y) y) z)
(*.f64 (*.f64 y y) y)
(*.f64 y y)
#s(literal -1/6 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y)))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))
(fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))
(/.f64 x y)
#s(literal -1/2 binary64)
(*.f64 #s(literal -1/6 binary64) z)
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (sin y)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (sin y) (/ (* x (cos y)) z))))
#s(approx (/ x z) #s(hole binary64 (/ x z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (+ (* -1/2 (* x (pow y 2))) (* -1/6 (* (pow y 3) z)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/6 z)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (+ (* -1/2 (/ x y)) (* -1/6 z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (* (cos y) x) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (/ (* x (cos y)) z)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (* x (+ (/ (cos y) z) (/ (sin y) x)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/2 (* x (pow y 2)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* x (+ (* -1/2 (pow y 2)) (* -1/6 (/ (* (pow y 3) z) x))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/2 (/ x y))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* x (- (* -1/6 (/ z x)) (* 1/2 (/ 1 y))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (cos y) z)) (* -1 (/ (sin y) x)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ (* (pow y 3) z) x)) (* 1/2 (pow y 2)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ z x)) (* 1/2 (/ 1 y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ y (/ x z))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* -1/2 (/ (* x y) z)))) (/ x z))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* y (+ (* -1/2 (/ x z)) (* -1/6 y))))) (/ x z))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (* (* y y) y) z) #s(hole binary64 (* (pow y 3) z)))
#s(approx (* (* y y) y) #s(hole binary64 (pow y 3)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* (pow y 2) (+ (* -1/2 x) (* -1/6 (* y z))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (/ (+ (* -1/2 x) (* -1/6 (* y z))) y)))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* (cos y) x) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (* (+ (* (cos y) (/ x z)) (sin y)) z) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) #s(hole binary64 (/ (+ (* x (cos y)) (* z (sin y))) z)))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (* -1/6 (pow y 3))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* z (- (* -1/2 (/ x (* y z))) 1/6))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* z (+ (* 1/6 (pow y 3)) (* 1/2 (/ (* x (pow y 2)) z)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* z (+ 1/6 (* 1/2 (/ x (* y z))))))))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y)) z))
(*.f64 (fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y)) z)
(*.f64 z (fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z)) (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z))) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z)) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z)))))
(fma.f64 (sin.f64 y) z (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z)))
(fma.f64 (sin.f64 y) z (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z))
(fma.f64 z (sin.f64 y) (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z)))
(fma.f64 z (sin.f64 y) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 z (/.f64 (*.f64 (cos.f64 y) x) z)))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) z))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 3 binary64)) (pow.f64 (neg.f64 (sin.f64 y)) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (neg.f64 (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 y) #s(literal 3 binary64)) (pow.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 y) x) z)) #s(literal 3 binary64))) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (+.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (*.f64 (sin.f64 y) (neg.f64 (/.f64 (*.f64 (cos.f64 y) x) z))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y))))) (-.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y)))
(/.f64 (-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64))) (-.f64 (sin.f64 y) (/.f64 (*.f64 (cos.f64 y) x) z)))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 3 binary64)) (pow.f64 (sin.f64 y) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 y) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 3 binary64))) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (*.f64 (sin.f64 y) (/.f64 (*.f64 (cos.f64 y) x) z)))))
(fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y))
(fma.f64 (*.f64 (cos.f64 y) x) (/.f64 #s(literal 1 binary64) z) (sin.f64 y))
(fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y))
(fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y))
(-.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (neg.f64 (sin.f64 y)))
(-.f64 (sin.f64 y) (neg.f64 (/.f64 (*.f64 (cos.f64 y) x) z)))
(+.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y))
(+.f64 (sin.f64 y) (/.f64 (*.f64 (cos.f64 y) x) z))
(sin.f64 (+.f64 (neg.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 y (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 y)))
(cos.f64 (neg.f64 (fabs.f64 y)))
(cos.f64 (fabs.f64 (fabs.f64 y)))
(cos.f64 (neg.f64 y))
(cos.f64 (fabs.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
y
(*.f64 x (/.f64 #s(literal 1 binary64) z))
(pow.f64 (/.f64 z x) #s(literal -1 binary64))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 z)))
(/.f64 (neg.f64 x) (neg.f64 z))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 z x)))
(/.f64 #s(literal 1 binary64) (/.f64 z x))
(/.f64 x z)
x
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 y y) y) #s(literal -1/6 binary64)) z)
(*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))
(*.f64 (*.f64 (*.f64 y y) y) (*.f64 #s(literal -1/6 binary64) z))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (*.f64 y y) y) z))
(*.f64 (*.f64 (*.f64 y y) y) z)
(*.f64 (*.f64 y y) (*.f64 z y))
(*.f64 z (*.f64 (*.f64 y y) y))
(*.f64 (*.f64 y y) y)
(*.f64 y (*.f64 y y))
(pow.f64 y #s(literal 3 binary64))
(fabs.f64 (*.f64 (*.f64 y y) y))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y)))
(fabs.f64 (neg.f64 (*.f64 y y)))
(fabs.f64 (*.f64 y y))
#s(literal -1/6 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) y) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) y) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))))
(*.f64 (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y)) y)
(*.f64 (*.f64 (*.f64 y y) y) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)))
(*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y)) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y))) (*.f64 (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y))))))
(fma.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y)))
(fma.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
(+.f64 (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 y y) y)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 z z) z) (*.f64 (/.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y)) #s(literal -1/8 binary64))) (fma.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 #s(literal -1/6 binary64) z) (-.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (/.f64 x y) #s(literal -1/2 binary64))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y)) #s(literal -1/8 binary64)) (pow.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) z)) #s(literal 3 binary64))) (fma.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 #s(literal -1/6 binary64) z) (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (neg.f64 (*.f64 #s(literal -1/6 binary64) z))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y)) #s(literal -1/8 binary64)) (*.f64 (*.f64 (*.f64 z z) z) #s(literal 1/216 binary64))) (fma.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) z) (*.f64 #s(literal 1/6 binary64) z) (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 #s(literal 1/6 binary64) z)))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)) (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 #s(literal -1/6 binary64) z))) (-.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 #s(literal -1/6 binary64) z)))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) y)) (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 z z) z))) (fma.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 #s(literal -1/6 binary64) z)))))
(fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))
(fma.f64 #s(literal -1/2 binary64) (/.f64 x y) (*.f64 #s(literal -1/6 binary64) z))
(fma.f64 #s(literal -1/6 binary64) z (*.f64 (/.f64 x y) #s(literal -1/2 binary64)))
(fma.f64 z #s(literal -1/6 binary64) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)))
(-.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (neg.f64 (*.f64 #s(literal -1/6 binary64) z)))
(-.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 #s(literal 1/6 binary64) z))
(+.f64 (*.f64 (/.f64 x y) #s(literal -1/2 binary64)) (*.f64 #s(literal -1/6 binary64) z))
(+.f64 (*.f64 #s(literal -1/6 binary64) z) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)))
(*.f64 x (/.f64 #s(literal 1 binary64) y))
(pow.f64 (/.f64 y x) #s(literal -1 binary64))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 y x)))
(/.f64 #s(literal 1 binary64) (/.f64 y x))
(/.f64 x y)
#s(literal -1/2 binary64)
(*.f64 #s(literal -1/6 binary64) z)
(*.f64 z #s(literal -1/6 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (sin.f64 y) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 #s(approx (cos y) #s(literal 1 binary64))) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 #s(approx (cos y) #s(literal 1 binary64))) x) (*.f64 (neg.f64 #s(approx (cos y) #s(literal 1 binary64))) x) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 (neg.f64 #s(approx (cos y) #s(literal 1 binary64))) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (fma.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (*.f64 (sin.f64 y) z) (neg.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))) (+.f64 (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)) (*.f64 (*.f64 (sin.f64 y) z) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)))))
(fma.f64 #s(approx (cos y) #s(literal 1 binary64)) x (*.f64 (sin.f64 y) z))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 z (sin.f64 y) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 x #s(approx (cos y) #s(literal 1 binary64)) (*.f64 (sin.f64 y) z))
(-.f64 (*.f64 (sin.f64 y) z) (*.f64 (neg.f64 #s(approx (cos y) #s(literal 1 binary64))) x))
(-.f64 (*.f64 (sin.f64 y) z) (neg.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)))
(+.f64 (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (cos y) #s(literal 1 binary64)) x)
(*.f64 x #s(approx (cos y) #s(literal 1 binary64)))
#s(approx (cos y) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (sin.f64 y))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y)))
#s(approx (/ x z) (/.f64 x z))
#s(approx x x)
#s(approx (+ (* z y) x) (*.f64 z y))
#s(approx (+ (* z y) x) (fma.f64 z y x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(literal -1/6 binary64) z))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)))
#s(approx (/ x y) (/.f64 x y))
#s(approx (* (cos y) x) (*.f64 (cos.f64 y) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 z (/.f64 (sin.f64 y) x) (cos.f64 y)) x))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (*.f64 (cos.f64 y) x) z))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (*.f64 (+.f64 (/.f64 (sin.f64 y) x) (/.f64 (cos.f64 y) z)) x))
#s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (+.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x)) #s(literal 1 binary64)) x))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 y y) y) z) x) #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal -1/2 binary64))) x))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) z) x) (/.f64 #s(literal 1/2 binary64) y)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (neg.f64 (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (sin.f64 y) z) x)) (neg.f64 (cos.f64 y))) x)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (neg.f64 (*.f64 (+.f64 (neg.f64 (/.f64 (sin.f64 y) x)) (/.f64 (neg.f64 (cos.f64 y)) z)) x)))
#s(approx (+ (* z y) x) (neg.f64 (*.f64 (neg.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64))) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) #s(literal -1 binary64)) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (-.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) (neg.f64 (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x))) #s(literal 1 binary64)) x)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (neg.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (*.f64 (*.f64 y y) y) z) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y y))) x)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (neg.f64 (*.f64 (fma.f64 (/.f64 z x) #s(literal 1/6 binary64) (/.f64 #s(literal 1/2 binary64) y)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (+.f64 (/.f64 x z) y))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (fma.f64 (fma.f64 (/.f64 (*.f64 y x) z) #s(literal -1/2 binary64) #s(literal 1 binary64)) y (/.f64 x z)))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (fma.f64 (fma.f64 (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) y)) y #s(literal 1 binary64)) y (/.f64 x z)))
#s(approx (cos y) #s(literal 1 binary64))
#s(approx (cos y) (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 y y) #s(literal 1/24 binary64)) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx y y)
#s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (* (* (* y y) y) z) (*.f64 (*.f64 (*.f64 y y) y) z))
#s(approx (* (* y y) y) (*.f64 (*.f64 y y) y))
#s(approx (* y y) (*.f64 y y))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) y))
#s(approx (* (cos y) x) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x))
#s(approx (* (cos y) x) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (* (cos y) x) (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 #s(literal -1/720 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/24 binary64) x)) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (* (+ (* (cos y) (/ x z)) (sin y)) z) (*.f64 (fma.f64 (/.f64 x z) (cos.f64 y) (sin.f64 y)) z))
#s(approx (cos y) (cos.f64 y))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) y) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (+.f64 (fma.f64 #s(literal -1/6 binary64) z (/.f64 x (*.f64 (*.f64 y y) y))) (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 y) (+.f64 (neg.f64 z) (neg.f64 (/.f64 x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 #s(literal 1/6 binary64) z (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (/.f64 z y)) y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (neg.f64 y) (*.f64 y y)) (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (neg.f64 (/.f64 (+.f64 (neg.f64 z) (neg.f64 (/.f64 x y))) y))) y)))))
#s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)) z))
#s(approx z z)
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) x))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x z) y) z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y (/.f64 x z))) z))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 y y) y) #s(literal -1/6 binary64))) z))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (neg.f64 z) (+.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 y) x) z)) (neg.f64 (sin.f64 y)))))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 z) (+.f64 (neg.f64 y) (neg.f64 (/.f64 x z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (neg.f64 y) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (neg.f64 z) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) y (neg.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x) z)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (neg.f64 z) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) y)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (neg.f64 z) (fma.f64 (/.f64 x (*.f64 z y)) #s(literal 1/2 binary64) #s(literal 1/6 binary64))))

eval42.0ms (1.2%)

Memory
-9.8MiB live, 35.2MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 321 to 1 025 computations (55.8% saved)

prune25.0ms (0.7%)

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

34 alts after pruning (28 fresh and 6 done)

PrunedKeptTotal
New19114205
Fresh41418
Picked145
Done022
Total19634230
Accuracy
100.0%
Counts
230 → 34
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.9%
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
99.8%
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
50.6%
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
50.9%
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
50.7%
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
45.1%
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
37.2%
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
66.7%
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
47.9%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
49.9%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
32.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
32.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
51.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
86.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (*.f64 (cos.f64 y) x) (/.f64 #s(literal 1 binary64) z) (sin.f64 y)) z))
85.0%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
49.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))) z))
86.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (*.f64 x (/.f64 #s(literal 1 binary64) z)) (sin.f64 y)) z))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
52.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y))))) (-.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y))) z))
46.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
42.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (*.f64 (cos.f64 y) x) z)) z))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
3.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
2.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
2.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
44.4%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
41.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
20.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
Compiler

Compiled 1 288 to 1 252 computations (2.8% saved)

series57.0ms (1.6%)

Memory
-16.1MiB live, 46.5MiB allocated; 6ms collecting garbage
Counts
35 → 95
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
(*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z)
(fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y))
x
(/.f64 (cos.f64 y) z)
(cos.f64 y)
y
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))
(*.f64 (*.f64 y y) x)
(*.f64 y y)
#s(literal -1/2 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
(*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z)
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y)))
(*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z))
(*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)
(fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64))
(/.f64 x (*.f64 z y))
(*.f64 z y)
(*.f64 (*.f64 y y) y)
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
(*.f64 x (cos.f64 y))
#s(approx (* z (sin y)) (*.f64 z y))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (sin y)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (sin y) (/ (* x (cos y)) z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (+ (* -1/2 (* x (pow y 2))) (* -1/6 (* (pow y 3) z)))))
#s(approx (* (* (* y y) x) -1/2) #s(hole binary64 (* -1/2 (* x (pow y 2)))))
#s(approx (* (* y y) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/6 z)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (+ (* -1/2 (/ x y)) (* -1/6 z))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (- (* -1/2 (/ x (* y z))) 1/6)))
#s(approx (/ x (* z y)) #s(hole binary64 (/ x (* y z))))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ (* x (cos y)) z)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (* x (+ (/ (cos y) z) (/ (sin y) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* x (+ (* -1/2 (pow y 2)) (* -1/6 (/ (* (pow y 3) z) x))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/2 (/ x y))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* x (- (* -1/6 (/ z x)) (* 1/2 (/ 1 y))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1/2 (/ x (* y z)))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1 (* x (+ (* 1/2 (/ 1 (* y z))) (* 1/6 (/ 1 x)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (cos y) z)) (* -1 (/ (sin y) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ (* (pow y 3) z) x)) (* 1/2 (pow y 2)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ z x)) (* 1/2 (/ 1 y)))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ 1 x)) (* 1/2 (/ 1 (* y z))))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ x z)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ y (/ x z))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* -1/2 (/ (* x y) z)))) (/ x z))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* y (+ (* -1/2 (/ x z)) (* -1/6 y))))) (/ x z))))
#s(approx (/ (cos y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* -1/2 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/24 (/ (pow y 2) z)) (* 1/2 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/720 (/ (pow y 2) z)) (* 1/24 (/ 1 z)))) (* 1/2 (/ 1 z)))) (/ 1 z))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* (pow y 2) (+ (* -1/2 x) (* -1/6 (* y z))))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* y z)))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 z))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (+ z (* -1/6 (* (pow y 2) z)))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (/ (+ (* -1/2 x) (* -1/6 (* y z))) y)))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (/ (+ (* -1/2 (/ x z)) (* -1/6 y)) y)))
#s(approx (* (* y y) y) #s(hole binary64 (pow y 3)))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (* (+ (* x (/ (cos y) z)) (sin y)) z) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (/ (cos y) z) #s(hole binary64 (/ (cos y) z)))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* (pow y 3) (+ (* -1/6 z) (/ z (pow y 2))))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* -1/6 (* (pow y 2) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* (pow y 2) (+ (* -1/6 z) (/ z (pow y 2))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ z (pow y 2))) (* 1/6 z))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ (+ (* x (cos y)) (* z (sin y))) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* z (+ 1 (* -1/6 (pow y 2))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (/ (+ (* -1/2 (/ x y)) (* -1/6 z)) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (* -1/6 (pow y 3))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* z (- (* -1/2 (/ x (* y z))) 1/6))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* z (+ (* 1/6 (pow y 3)) (* 1/2 (/ (* x (pow y 2)) z)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* z (+ 1/6 (* 1/2 (/ x (* y z))))))))
Calls

9 calls:

TimeVariablePointExpression
15.0ms
x
@inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* x (/ (cos y) z)) (sin y)) z) (+ (* x (/ (cos y) z)) (sin y)) x (/ (cos y) z) (cos y) y z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (* (* (* y y) x) -1/2) (* (* y y) x) (* y y) -1/2 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (+ (* (* y y) -1/6) 1) z) y) (* (+ (* (* y y) -1/6) 1) z) (+ (* (* y y) -1/6) 1) -1/6 1 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (* (+ (* (/ x (* z y)) -1/2) -1/6) z) (+ (* (/ x (* z y)) -1/2) -1/6) (/ x (* z y)) (* z y) (* (* y y) y) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)))
9.0ms
x
@0
((+ (* x (cos y)) (* z (sin y))) (* (+ (* x (/ (cos y) z)) (sin y)) z) (+ (* x (/ (cos y) z)) (sin y)) x (/ (cos y) z) (cos y) y z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (* (* (* y y) x) -1/2) (* (* y y) x) (* y y) -1/2 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (+ (* (* y y) -1/6) 1) z) y) (* (+ (* (* y y) -1/6) 1) z) (+ (* (* y y) -1/6) 1) -1/6 1 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (* (+ (* (/ x (* z y)) -1/2) -1/6) z) (+ (* (/ x (* z y)) -1/2) -1/6) (/ x (* z y)) (* z y) (* (* y y) y) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)))
6.0ms
z
@-inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* x (/ (cos y) z)) (sin y)) z) (+ (* x (/ (cos y) z)) (sin y)) x (/ (cos y) z) (cos y) y z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (* (* (* y y) x) -1/2) (* (* y y) x) (* y y) -1/2 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (+ (* (* y y) -1/6) 1) z) y) (* (+ (* (* y y) -1/6) 1) z) (+ (* (* y y) -1/6) 1) -1/6 1 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (* (+ (* (/ x (* z y)) -1/2) -1/6) z) (+ (* (/ x (* z y)) -1/2) -1/6) (/ x (* z y)) (* z y) (* (* y y) y) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)))
5.0ms
y
@-inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* x (/ (cos y) z)) (sin y)) z) (+ (* x (/ (cos y) z)) (sin y)) x (/ (cos y) z) (cos y) y z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (* (* (* y y) x) -1/2) (* (* y y) x) (* y y) -1/2 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (+ (* (* y y) -1/6) 1) z) y) (* (+ (* (* y y) -1/6) 1) z) (+ (* (* y y) -1/6) 1) -1/6 1 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (* (+ (* (/ x (* z y)) -1/2) -1/6) z) (+ (* (/ x (* z y)) -1/2) -1/6) (/ x (* z y)) (* z y) (* (* y y) y) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)))
4.0ms
y
@inf
((+ (* x (cos y)) (* z (sin y))) (* (+ (* x (/ (cos y) z)) (sin y)) z) (+ (* x (/ (cos y) z)) (sin y)) x (/ (cos y) z) (cos y) y z (sin y) (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (* (* (* y y) x) -1/2) (* (* y y) x) (* y y) -1/2 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (* (+ (* (* y y) -1/6) 1) z) y) (* (+ (* (* y y) -1/6) 1) z) (+ (* (* y y) -1/6) 1) -1/6 1 (+ (* x (cos y)) (* z (sin y))) (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (+ (* (/ x y) -1/2) (* -1/6 z)) (* (+ (* (/ x (* z y)) -1/2) -1/6) z) (+ (* (/ x (* z y)) -1/2) -1/6) (/ x (* z y)) (* z y) (* (* y y) y) (+ (* x (cos y)) (* z (sin y))) (* x (cos y)) (* z (sin y)))

rewrite289.0ms (8.2%)

Memory
-17.2MiB live, 214.0MiB allocated; 53ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04302580
04672488
127082482
082612295
1282572295
Stop Event
iter-limit
node-limit
iter-limit
Counts
130 → 248
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
(*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z)
(fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y))
x
(/.f64 (cos.f64 y) z)
(cos.f64 y)
y
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))
(*.f64 (*.f64 y y) x)
(*.f64 y y)
#s(literal -1/2 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
(*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z)
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y)))
(*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z))
(*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)
(fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64))
(/.f64 x (*.f64 z y))
(*.f64 z y)
(*.f64 (*.f64 y y) y)
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
(*.f64 x (cos.f64 y))
#s(approx (* z (sin y)) (*.f64 z y))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* z (sin y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ (* x (cos y)) (* z (sin y)))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (sin y)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (sin y) (/ (* x (cos y)) z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* y (+ z (* -1/6 (* (pow y 2) z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ (* x (+ 1 (* -1/2 (pow y 2)))) (* y (+ z (* -1/6 (* (pow y 2) z)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1/6 (* (pow y 3) z))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (+ (* -1/2 (* x (pow y 2))) (* -1/6 (* (pow y 3) z)))))
#s(approx (* (* (* y y) x) -1/2) #s(hole binary64 (* -1/2 (* x (pow y 2)))))
#s(approx (* (* y y) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/6 z)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (+ (* -1/2 (/ x y)) (* -1/6 z))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 -1/6))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (- (* -1/2 (/ x (* y z))) 1/6)))
#s(approx (/ x (* z y)) #s(hole binary64 (/ x (* y z))))
#s(approx (* x (cos y)) #s(hole binary64 (* x (cos y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* x (+ (cos y) (/ (* z (sin y)) x)))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ (* x (cos y)) z)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (* x (+ (/ (cos y) z) (/ (sin y) x)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (* -1/2 (pow y 2))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* x (+ 1 (+ (* -1/2 (pow y 2)) (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* x (+ (* -1/2 (pow y 2)) (* -1/6 (/ (* (pow y 3) z) x))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1/2 (/ x y))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* x (- (* -1/6 (/ z x)) (* 1/2 (/ 1 y))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1/2 (/ x (* y z)))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1 (* x (+ (* 1/2 (/ 1 (* y z))) (* 1/6 (/ 1 x)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* x (+ (* -1 (cos y)) (* -1 (/ (* z (sin y)) x)))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (* -1 (* x (+ (* -1 (/ (cos y) z)) (* -1 (/ (sin y) x)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (* 1/2 (pow y 2)) 1)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 (/ (* y (+ z (* -1/6 (* (pow y 2) z)))) x)) (* 1/2 (pow y 2))) 1)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ (* (pow y 3) z) x)) (* 1/2 (pow y 2)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ z x)) (* 1/2 (/ 1 y)))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (* -1 (* x (+ (* 1/6 (/ 1 x)) (* 1/2 (/ 1 (* y z))))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* -1/2 (* x y)))))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (+ x (* y (+ z (* y (+ (* -1/2 x) (* -1/6 (* y z)))))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ x z)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ y (/ x z))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* -1/2 (/ (* x y) z)))) (/ x z))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (+ (* y (+ 1 (* y (+ (* -1/2 (/ x z)) (* -1/6 y))))) (/ x z))))
#s(approx (/ (cos y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* -1/2 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/24 (/ (pow y 2) z)) (* 1/2 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (cos y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/720 (/ (pow y 2) z)) (* 1/24 (/ 1 z)))) (* 1/2 (/ 1 z)))) (/ 1 z))))
#s(approx (cos y) #s(hole binary64 1))
#s(approx (cos y) #s(hole binary64 (+ 1 (* -1/2 (pow y 2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/24 (pow y 2)) 1/2)))))
#s(approx (cos y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/24 (* -1/720 (pow y 2)))) 1/2)))))
#s(approx y #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* (pow y 2) (+ (* -1/2 x) (* -1/6 (* y z))))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* y z)))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 z))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (+ z (* -1/6 (* (pow y 2) z)))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (/ (+ (* -1/2 x) (* -1/6 (* y z))) y)))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (/ (+ (* -1/2 (/ x z)) (* -1/6 y)) y)))
#s(approx (* (* y y) y) #s(hole binary64 (pow y 3)))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* -1/2 (* x (pow y 2))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* 1/24 (* x (pow y 2))))))))
#s(approx (* x (cos y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/2 x) (* (pow y 2) (+ (* -1/720 (* x (pow y 2))) (* 1/24 x))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* 1/120 (* (pow y 2) z))))))))
#s(approx (* z (sin y)) #s(hole binary64 (* y (+ z (* (pow y 2) (+ (* -1/6 z) (* (pow y 2) (+ (* -1/5040 (* (pow y 2) z)) (* 1/120 z)))))))))
#s(approx (* (+ (* x (/ (cos y) z)) (sin y)) z) #s(hole binary64 (* z (+ (sin y) (/ (* x (cos y)) z)))))
#s(approx (/ (cos y) z) #s(hole binary64 (/ (cos y) z)))
#s(approx (cos y) #s(hole binary64 (cos y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (* -1/6 z)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (/ z (pow y 2)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* (pow y 3) (+ (* -1/2 (/ x y)) (+ (* -1/6 z) (+ (/ x (pow y 3)) (/ z (pow y 2))))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* (pow y 3) (+ (* -1/6 z) (/ z (pow y 2))))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* -1/6 (* (pow y 2) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* (pow y 2) (+ (* -1/6 z) (/ z (pow y 2))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* 1/6 z) (* 1/2 (/ x y)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1/2 x) (/ z y)) y)) (* 1/6 z))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ (+ (* -1 (/ (+ (* -1 z) (* -1 (/ x y))) y)) (* -1/2 x)) y)) (* 1/6 z))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* -1 (* (pow y 3) (+ (* -1 (/ z (pow y 2))) (* 1/6 z))))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) #s(hole binary64 (/ (+ (* x (cos y)) (* z (sin y))) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (+ x (+ (* -1/2 (* x (pow y 2))) (* y (* z (+ 1 (* -1/6 (pow y 2)))))))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) #s(hole binary64 (* y (* z (+ 1 (* -1/6 (pow y 2)))))))
#s(approx (* (+ (* (* y y) -1/6) 1) z) #s(hole binary64 (* z (+ 1 (* -1/6 (pow y 2))))))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(hole binary64 (/ (+ (* -1/2 (/ x y)) (* -1/6 z)) z)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (+ (* y (+ 1 (* -1/6 (pow y 2)))) (/ x z))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* z (+ (* -1/2 (/ (* x (pow y 2)) z)) (* -1/6 (pow y 3))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* z (- (* -1/2 (/ x (* y z))) 1/6))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(hole binary64 (* -1 (* z (+ (* -1 (sin y)) (* -1 (/ (* x (cos y)) z)))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* y (* z (- (* 1/6 (pow y 2)) 1))))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 (/ (+ x (* -1/2 (* x (pow y 2)))) z)) (* y (- (* 1/6 (pow y 2)) 1)))))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) #s(hole binary64 (* -1 (* z (+ (* 1/6 (pow y 3)) (* 1/2 (/ (* x (pow y 2)) z)))))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) #s(hole binary64 (* -1 (* z (+ 1/6 (* 1/2 (/ x (* y z))))))))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y)) z))
(*.f64 (fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y)) z)
(*.f64 z (fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y)))
(fma.f64 (sin.f64 y) z (*.f64 z (*.f64 (/.f64 (cos.f64 y) z) x)))
(fma.f64 (sin.f64 y) z (*.f64 (*.f64 (/.f64 (cos.f64 y) z) x) z))
(fma.f64 z (sin.f64 y) (*.f64 z (*.f64 (/.f64 (cos.f64 y) z) x)))
(fma.f64 z (sin.f64 y) (*.f64 (*.f64 (/.f64 (cos.f64 y) z) x) z))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 z (*.f64 (/.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 (*.f64 (/.f64 (cos.f64 y) z) x) z))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 3 binary64)) (pow.f64 (neg.f64 (sin.f64 y)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64)) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 (*.f64 (/.f64 (cos.f64 y) z) x) (neg.f64 (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 y) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 (/.f64 (cos.f64 y) z) x)) #s(literal 3 binary64))) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (+.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64)) (*.f64 (sin.f64 y) (neg.f64 (*.f64 (/.f64 (cos.f64 y) z) x))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y))))) (-.f64 (*.f64 (/.f64 (cos.f64 y) z) x) (sin.f64 y)))
(/.f64 (-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64))) (-.f64 (sin.f64 y) (*.f64 (/.f64 (cos.f64 y) z) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 3 binary64)) (pow.f64 (sin.f64 y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64)) (-.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 (*.f64 (/.f64 (cos.f64 y) z) x) (sin.f64 y)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 y) #s(literal 3 binary64)) (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 3 binary64))) (+.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (-.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 y) z) x) #s(literal 2 binary64)) (*.f64 (sin.f64 y) (*.f64 (/.f64 (cos.f64 y) z) x)))))
(fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y))
(fma.f64 (*.f64 (cos.f64 y) x) (/.f64 #s(literal 1 binary64) z) (sin.f64 y))
(fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y))
(-.f64 (*.f64 (/.f64 (cos.f64 y) z) x) (neg.f64 (sin.f64 y)))
(-.f64 (sin.f64 y) (neg.f64 (*.f64 (/.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 (/.f64 (cos.f64 y) z) x) (sin.f64 y))
(+.f64 (sin.f64 y) (*.f64 (/.f64 (cos.f64 y) z) x))
x
(*.f64 (/.f64 #s(literal -1 binary64) z) (/.f64 (cos.f64 y) #s(literal -1 binary64)))
(*.f64 (/.f64 (cos.f64 y) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) z))
(*.f64 (/.f64 (cos.f64 y) z) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) (/.f64 #s(literal 1 binary64) z))
(pow.f64 (/.f64 z (cos.f64 y)) #s(literal -1 binary64))
(/.f64 (neg.f64 (neg.f64 (cos.f64 y))) (neg.f64 (neg.f64 z)))
(/.f64 (neg.f64 (cos.f64 y)) (neg.f64 z))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 z (cos.f64 y))))
(/.f64 #s(literal 1 binary64) (/.f64 z (cos.f64 y)))
(/.f64 (cos.f64 y) z)
(sin.f64 (+.f64 (neg.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.f64 y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 y (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 y)))
(cos.f64 (neg.f64 (fabs.f64 y)))
(cos.f64 (fabs.f64 (fabs.f64 y)))
(cos.f64 (neg.f64 y))
(cos.f64 (fabs.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (sin.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
y
z
(sin.f64 y)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))
(*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x))
(*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 y y))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 x (*.f64 y y))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y)))
(fabs.f64 (neg.f64 (*.f64 y y)))
(fabs.f64 (*.f64 y y))
#s(literal -1/2 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
(*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))
(*.f64 (*.f64 z y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 y (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z)
(*.f64 z (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) z (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64)))
(fma.f64 z #s(literal 1 binary64) (*.f64 z (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(+.f64 (*.f64 z #s(literal 1 binary64)) (*.f64 z (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y))) #s(literal -1 binary64)) (fma.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal -1 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (neg.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 y y)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 y y)) (*.f64 #s(literal 1/6 binary64) (*.f64 y y)) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 y y) y) (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y)))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))))
(/.f64 (fma.f64 (*.f64 (*.f64 y y) y) (*.f64 #s(literal -1/216 binary64) (*.f64 (*.f64 y y) y)) #s(literal 1 binary64)) (fma.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64)))))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y)))
(+.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y)))
(*.f64 (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 y y)) y)
(*.f64 (*.f64 (*.f64 y y) y) #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)))
(*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z))
(*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)
(*.f64 z (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 (*.f64 z y) (*.f64 z y))) #s(literal 1/36 binary64)) (-.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal -1/6 binary64)))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 (*.f64 z y) (*.f64 z y))) #s(literal 1/36 binary64)) (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 (pow.f64 (/.f64 x (*.f64 z y)) #s(literal 3 binary64)) #s(literal -1/8 binary64) #s(literal -1/216 binary64)) (fma.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) (-.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) (+.f64 #s(literal 1/36 binary64) (*.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal 1/6 binary64)))))
(neg.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 z y)) #s(literal 1/6 binary64)))
(fma.f64 (/.f64 #s(literal -1/2 binary64) y) (/.f64 x z) #s(literal -1/6 binary64))
(fma.f64 (/.f64 #s(literal -1/2 binary64) z) (/.f64 x y) #s(literal -1/6 binary64))
(fma.f64 (/.f64 x z) (/.f64 #s(literal -1/2 binary64) y) #s(literal -1/6 binary64))
(fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64))
(fma.f64 (/.f64 x y) (/.f64 #s(literal -1/2 binary64) z) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/2 binary64) (/.f64 x (*.f64 z y)) #s(literal -1/6 binary64))
(-.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal 1/6 binary64))
(+.f64 (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)))
(*.f64 x (/.f64 #s(literal 1 binary64) (*.f64 z y)))
(pow.f64 (/.f64 (*.f64 z y) x) #s(literal -1 binary64))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 (*.f64 z y))))
(/.f64 (neg.f64 (/.f64 x z)) (neg.f64 y))
(/.f64 (neg.f64 x) (neg.f64 (*.f64 z y)))
(/.f64 (neg.f64 (/.f64 x y)) (neg.f64 z))
(/.f64 (/.f64 x z) y)
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 (*.f64 z y) x)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 z y) x))
(/.f64 (/.f64 x y) z)
(/.f64 x (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
(*.f64 (*.f64 y y) y)
(*.f64 y (*.f64 y y))
(pow.f64 y #s(literal 3 binary64))
(fabs.f64 (*.f64 (*.f64 y y) y))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (neg.f64 #s(approx (* z (sin y)) (*.f64 z y))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (fma.f64 #s(approx (* z (sin y)) (*.f64 z y)) #s(approx (* z (sin y)) (*.f64 z y)) (*.f64 (*.f64 (cos.f64 y) x) (neg.f64 #s(approx (* z (sin y)) (*.f64 z y)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (*.f64 #s(approx (* z (sin y)) (*.f64 z y)) #s(approx (* z (sin y)) (*.f64 z y)))) (-.f64 (*.f64 (cos.f64 y) x) #s(approx (* z (sin y)) (*.f64 z y))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (*.f64 (*.f64 #s(approx (* z (sin y)) (*.f64 z y)) #s(approx (* z (sin y)) (*.f64 z y))) #s(approx (* z (sin y)) (*.f64 z y)))) (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 2 binary64)) (-.f64 (*.f64 #s(approx (* z (sin y)) (*.f64 z y)) #s(approx (* z (sin y)) (*.f64 z y))) (*.f64 (*.f64 (cos.f64 y) x) #s(approx (* z (sin y)) (*.f64 z y))))))
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 x (cos.f64 y) #s(approx (* z (sin y)) (*.f64 z y)))
(-.f64 (*.f64 (cos.f64 y) x) (neg.f64 #s(approx (* z (sin y)) (*.f64 z y))))
(+.f64 #s(approx (* z (sin y)) (*.f64 z y)) (*.f64 (cos.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) x) #s(approx (* z (sin y)) (*.f64 z y)))
(*.f64 (cos.f64 y) x)
(*.f64 x (cos.f64 y))
#s(approx (* z (sin y)) (*.f64 z y))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (sin.f64 y))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y)))
#s(approx x x)
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (* (* (* y y) x) -1/2) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))
#s(approx (* (* y y) x) (*.f64 (*.f64 y y) x))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(literal -1/6 binary64) z))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) #s(literal -1/6 binary64))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)))
#s(approx (/ x (* z y)) (/.f64 x (*.f64 z y)))
#s(approx (* x (cos y)) (*.f64 (cos.f64 y) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 z (/.f64 (sin.f64 y) x) (cos.f64 y)) x))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (*.f64 (/.f64 (cos.f64 y) z) x))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (*.f64 (+.f64 (/.f64 (sin.f64 y) x) (/.f64 (cos.f64 y) z)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (+.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x)) #s(literal 1 binary64)) x))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 y y) y) z) x) #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal -1/2 binary64))) x))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (/.f64 x y) #s(literal -1/2 binary64)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (-.f64 (/.f64 (*.f64 #s(literal -1/6 binary64) z) x) (/.f64 #s(literal 1/2 binary64) y)) x))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64)))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (neg.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) x) (/.f64 #s(literal 1/2 binary64) (*.f64 z y))) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (neg.f64 (*.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (sin.f64 y) z) x)) (neg.f64 (cos.f64 y))) x)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (neg.f64 (*.f64 (+.f64 (neg.f64 (/.f64 (sin.f64 y) x)) (/.f64 (neg.f64 (cos.f64 y)) z)) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) #s(literal -1 binary64)) x)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (-.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) (neg.f64 (/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y) x))) #s(literal 1 binary64)) x)))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 y y) y) z) x) #s(literal 1/6 binary64))) x)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (neg.f64 (*.f64 (fma.f64 (/.f64 z x) #s(literal 1/6 binary64) (/.f64 #s(literal 1/2 binary64) y)) x)))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (neg.f64 (*.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) x) (/.f64 #s(literal 1/2 binary64) (*.f64 z y))) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (+.f64 (/.f64 x z) y))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (fma.f64 (fma.f64 (/.f64 (*.f64 y x) z) #s(literal -1/2 binary64) #s(literal 1 binary64)) y (/.f64 x z)))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (fma.f64 (fma.f64 (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) y)) y #s(literal 1 binary64)) y (/.f64 x z)))
#s(approx (/ (cos y) z) (/.f64 #s(literal 1 binary64) z))
#s(approx (/ (cos y) z) (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) z))
#s(approx (/ (cos y) z) (fma.f64 (/.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (cos y) z) (fma.f64 (-.f64 (*.f64 (/.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 y y) #s(literal 1/24 binary64)) z) (*.f64 y y)) (/.f64 #s(literal 1/2 binary64) z)) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (cos y) #s(literal 1 binary64))
#s(approx (cos y) (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (cos y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 y y) #s(literal 1/24 binary64)) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx y y)
#s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))
#s(approx (* y y) (*.f64 y y))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) (*.f64 z y))
#s(approx (* (+ (* (* y y) -1/6) 1) z) z)
#s(approx (* (+ (* (* y y) -1/6) 1) z) (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z))
#s(approx (+ (* (* y y) -1/6) 1) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (/.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (/.f64 (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) y)) y))
#s(approx (* (* y y) y) (*.f64 (*.f64 y y) y))
#s(approx (* x (cos y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x))
#s(approx (* x (cos y)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (* x (cos y)) (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 #s(literal -1/720 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/24 binary64) x)) (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y) x))
#s(approx (* z (sin y)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) z (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y) z) y))
#s(approx (* z (sin y)) (*.f64 (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) z (*.f64 #s(literal 1/120 binary64) z)) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 y y) z) y))
#s(approx (* (+ (* x (/ (cos y) z)) (sin y)) z) (*.f64 (fma.f64 (/.f64 (cos.f64 y) z) x (sin.f64 y)) z))
#s(approx (/ (cos y) z) (/.f64 (cos.f64 y) z))
#s(approx (cos y) (cos.f64 y))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) y) (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (+.f64 (fma.f64 #s(literal -1/6 binary64) z (/.f64 x (*.f64 (*.f64 y y) y))) (/.f64 z (*.f64 y y)))) (*.f64 (*.f64 y y) y)))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) (*.f64 (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y))) (*.f64 (*.f64 y y) y)))
#s(approx (* (+ (* (* y y) -1/6) 1) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (* y y) -1/6) 1) z) (*.f64 (fma.f64 #s(literal -1/6 binary64) z (/.f64 z (*.f64 y y))) (*.f64 y y)))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) (*.f64 y y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 x y) (*.f64 #s(literal 1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (/.f64 z y)) y))) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) z (neg.f64 (/.f64 (fma.f64 #s(literal -1/2 binary64) x (neg.f64 (/.f64 (+.f64 (neg.f64 z) (neg.f64 (/.f64 x y))) y))) y))) (*.f64 (*.f64 y y) y))))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) (neg.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) z (/.f64 (neg.f64 z) (*.f64 y y))) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)) z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (+.f64 (fma.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64))) x))
#s(approx (* (* (+ (* (* y y) -1/6) 1) z) y) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y))
#s(approx (* (+ (* (* y y) -1/6) 1) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
#s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (/.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) z))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/2 binary64) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y (/.f64 x z))) z))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 y y) y) #s(literal -1/6 binary64))) z))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (neg.f64 z) (+.f64 (neg.f64 (*.f64 (/.f64 (cos.f64 y) z) x)) (neg.f64 (sin.f64 y)))))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (neg.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) z) y)))
#s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (neg.f64 z) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) y (neg.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64) x) z)))))
#s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (neg.f64 z) (fma.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) y)))))
#s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (neg.f64 z) (fma.f64 #s(literal 1/2 binary64) (/.f64 x (*.f64 z y)) #s(literal 1/6 binary64))))

eval35.0ms (1%)

Memory
-1.5MiB live, 86.7MiB allocated; 13ms collecting garbage
Compiler

Compiled 2 816 to 1 437 computations (49% saved)

prune32.0ms (0.9%)

Memory
24.0MiB live, 82.7MiB allocated; 8ms collecting garbage
Pruning

31 alts after pruning (26 fresh and 5 done)

PrunedKeptTotal
New25310263
Fresh71623
Picked505
Done156
Total26631297
Accuracy
100.0%
Counts
297 → 31
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
66.7%
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
50.6%
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
50.9%
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
45.1%
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
37.2%
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
50.3%
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
32.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
32.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
51.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
86.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (*.f64 (cos.f64 y) x) (/.f64 #s(literal 1 binary64) z) (sin.f64 y)) z))
85.0%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
86.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
86.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (*.f64 x (/.f64 #s(literal 1 binary64) z)) (sin.f64 y)) z))
52.5%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y))))) (-.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y))) z))
46.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
42.7%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (*.f64 (cos.f64 y) x) z)) z))
28.1%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
42.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (*.f64 (/.f64 (cos.f64 y) z) x)) z))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
20.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
3.2%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
2.1%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
2.8%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
44.4%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
41.3%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
20.6%
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
Compiler

Compiled 1 180 to 897 computations (24% saved)

regimes81.0ms (2.3%)

Memory
-21.2MiB live, 159.6MiB allocated; 26ms collecting garbage
Counts
54 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (*.f64 (/.f64 (cos.f64 y) z) x)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (*.f64 (cos.f64 y) x) z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))) z))
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64))) (-.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))) y x))
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 x (/.f64 (cos.f64 y) z) (sin.f64 y)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) (sin.f64 y)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (sin.f64 y) (/.f64 z x) (cos.f64 y)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (*.f64 (cos.f64 y) x) (/.f64 #s(literal 1 binary64) z) (sin.f64 y)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (*.f64 x (/.f64 #s(literal 1 binary64) z)) (sin.f64 y)) z))
(/.f64 (-.f64 (*.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 z z)) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x))) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (cos.f64 y) x) z) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y))))) (-.f64 (/.f64 (*.f64 (cos.f64 y) x) z) (sin.f64 y))) z))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 y) z) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) y)))) (*.f64 x x) (*.f64 (*.f64 (sin.f64 y) z) (-.f64 (*.f64 (sin.f64 y) z) (*.f64 (cos.f64 y) x)))))
Outputs
(fma.f64 (cos.f64 y) x (*.f64 (sin.f64 y) z))
Calls

4 calls:

30.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
17.0ms
x
15.0ms
z
15.0ms
y
Results
AccuracySegmentsBranch
99.8%1(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
99.8%1x
99.8%1y
99.8%1z
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes50.0ms (1.4%)

Memory
20.7MiB live, 67.8MiB allocated; 5ms collecting garbage
Counts
44 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 x (cos.f64 y)) #s(approx (* z (sin y)) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (*.f64 (/.f64 (cos.f64 y) z) x)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* (cos y) (/ x z)) (sin y)) (/.f64 (*.f64 (cos.f64 y) x) z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (fma.f64 (cos.f64 y) (/.f64 x z) #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))) z))
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y) #s(literal 2 binary64))) (-.f64 z (*.f64 (fma.f64 (*.f64 z y) #s(literal -1/6 binary64) (*.f64 #s(literal -1/2 binary64) x)) y))) y x))
Outputs
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 (cos.f64 y) x #s(approx (* z (sin y)) (*.f64 z y)))
Calls

4 calls:

14.0ms
x
12.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
11.0ms
z
11.0ms
y
Results
AccuracySegmentsBranch
77.9%1(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
87.7%3x
77.9%1y
86.1%3z
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes33.0ms (0.9%)

Memory
2.4MiB live, 48.3MiB allocated; 3ms collecting garbage
Counts
36 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
Outputs
(fma.f64 (sin.f64 y) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
Calls

3 calls:

11.0ms
z
10.0ms
x
9.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Results
AccuracySegmentsBranch
77.9%1(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
77.9%1z
77.9%1x
Compiler

Compiled 10 to 14 computations (-40% saved)

regimes52.0ms (1.5%)

Memory
-7.6MiB live, 38.5MiB allocated; 2ms collecting garbage
Counts
35 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y))))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 (sin.f64 y) z))
Calls

4 calls:

23.0ms
y
9.0ms
x
9.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
9.0ms
z
Results
AccuracySegmentsBranch
65.0%3x
76.1%3y
61.5%3z
55.9%3(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes87.0ms (2.5%)

Memory
-10.5MiB live, 41.6MiB allocated; 12ms collecting garbage
Counts
33 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (*.f64 #s(approx (+ (* x (/ (cos y) z)) (sin y)) (/.f64 x z)) z))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y y) (*.f64 #s(literal -1/2 binary64) x)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 y (*.f64 y x)) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/2 binary64)))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/2 binary64) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 x y) #s(literal -1/2 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 (fma.f64 y (/.f64 z x) #s(literal 1 binary64)) x)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 y y) (*.f64 z y)) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (*.f64 y x) #s(literal -1/2 binary64) z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fabs.f64 (*.f64 (*.f64 y y) y)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (*.f64 z y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64) z) y)))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (*.f64 (*.f64 (*.f64 y y) z) #s(literal -1/6 binary64))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) #s(approx (* (+ (* (/ x y) -1/2) (* -1/6 z)) (* (* y y) y)) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) z) y (*.f64 #s(literal -1/2 binary64) x)) (*.f64 y y)))))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(+.f64 (*.f64 x #s(approx (cos y) #s(literal 1 binary64))) (*.f64 z #s(approx (sin y) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 z y) (*.f64 #s(literal -1/2 binary64) x)) y z) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 #s(approx (+ (* (/ x (* z y)) -1/2) -1/6) (*.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64))) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) z) #s(literal -1/6 binary64))))
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) y) x) (*.f64 #s(approx (+ (* (/ x y) -1/2) (* -1/6 z)) (*.f64 (fma.f64 (/.f64 x (*.f64 z y)) #s(literal -1/2 binary64) #s(literal -1/6 binary64)) z)) (*.f64 (*.f64 y y) y))))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 #s(approx (+ (* (+ (* -1/6 (* z y)) (* -1/2 x)) y) z) (fma.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z (*.f64 (*.f64 x y) #s(literal -1/2 binary64)))) y x))
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 (fma.f64 #s(approx (+ (* -1/6 (* z y)) (* -1/2 x)) (*.f64 (fma.f64 (/.f64 (*.f64 z y) x) #s(literal -1/6 binary64) #s(literal -1/2 binary64)) x)) y z) y x))
(+.f64 (*.f64 x #s(approx (cos y) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 y y) #s(literal -1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)))) #s(approx (* z (sin y)) (*.f64 z y)))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
(fma.f64 #s(approx (sin y) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) y)) z (*.f64 #s(approx (cos y) #s(literal 1 binary64)) x))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) (fma.f64 z y x))
Calls

4 calls:

59.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
9.0ms
y
9.0ms
x
8.0ms
z
Results
AccuracySegmentsBranch
51.5%1(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
51.5%1z
51.5%1x
51.5%1y
Compiler

Compiled 11 to 17 computations (-54.5% saved)

regimes4.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
Outputs
#s(approx (+ (* x (cos y)) (* z (sin y))) #s(approx (+ (* z y) x) (*.f64 z y)))
Calls

4 calls:

1.0ms
(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
1.0ms
z
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
20.6%1(+.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
20.6%1x
20.6%1y
20.6%1z
Compiler

Compiled 11 to 17 computations (-54.5% saved)

bsearch41.0ms (1.2%)

Memory
3.3MiB live, 48.5MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
2.0815703735180556e+177
7.262193639116222e+189
17.0ms
-1.6702311159998884e+89
-1.3133099938810073e+83
Samples
28.0ms304×0valid
Compiler

Compiled 354 to 394 computations (-11.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-cos: 11.0ms (54.7% of total)
ival-sin: 6.0ms (29.8% of total)
ival-mult!: 3.0ms (14.9% of total)
ival-add!: 1.0ms (5% of total)
adjust: 0.0ms (0% of total)

bsearch35.0ms (1%)

Memory
9.6MiB live, 53.0MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
319798935285577.4
4414341392263679500.0
11.0ms
-0.026336519892559643
-4.482879712369566e-7
Samples
20.0ms256×0valid
Compiler

Compiled 412 to 446 computations (-8.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-cos: 6.0ms (43.4% of total)
ival-sin: 5.0ms (36.1% of total)
ival-mult!: 3.0ms (21.7% of total)
ival-add!: 1.0ms (7.2% of total)
adjust: 0.0ms (0% of total)

derivations351.0ms (9.9%)

Memory
-53.9MiB live, 216.2MiB allocated; 127ms collecting garbage
Stop Event
fuel
Compiler

Compiled 58 to 44 computations (24.1% saved)

preprocess42.0ms (1.2%)

Memory
29.2MiB live, 80.4MiB allocated; 7ms collecting garbage
Compiler

Compiled 66 to 52 computations (21.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...