Migdal et al, Equation (64)

Time bar (total: 3.7s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
2.1MiB live, 2.1MiB 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 21 to 14 computations (33.3% saved)

sample1.1s (31.3%)

Memory
51.1MiB live, 1 221.0MiB allocated; 332ms collecting garbage
Samples
826.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 504.0ms
ival-cos: 276.0ms (54.8% of total)
ival-mult!: 163.0ms (32.4% of total)
ival-div!: 45.0ms (8.9% of total)
ival-add!: 18.0ms (3.6% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

preprocess66.0ms (1.8%)

Memory
-28.9MiB live, 58.9MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041133
1197133
21006133
35540133
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
Symmetry

(abs a1)

(abs a2)

(abs th)

(sort a1 a2)

Compiler

Compiled 38 to 24 computations (36.8% saved)

series123.0ms (3.4%)

Memory
-5.0MiB live, 103.8MiB allocated; 63ms collecting garbage
Counts
12 → 32
Calls
Call 1
Inputs
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 a1 a1)
a1
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(*.f64 a2 a2)
a2
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* a1 a1) (pow.f64 a1 #s(literal 2 binary64)))
#s(approx a1 a1)
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* a2 a2) (pow.f64 a2 #s(literal 2 binary64)))
#s(approx a2 a2)
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (cos th) #s(literal 1 binary64))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/2 binary64)))))
#s(approx th th)
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (cos th) (cos.f64 th))
Calls

9 calls:

TimeVariablePoint
4.0ms
th
-inf
2.0ms
a1
0
2.0ms
th
inf
2.0ms
a2
0
2.0ms
th
0

rewrite132.0ms (3.6%)

Memory
26.8MiB live, 117.4MiB allocated; 14ms collecting garbage
Counts
12 → 47
Calls
Call 1
Inputs
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 a1 a1)
a1
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(*.f64 a2 a2)
a2
Outputs
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)))
(-.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (neg.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))))
(-.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (*.f64 (neg.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64))) (*.f64 a2 a2)))
(fma.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1 (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(fma.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)))
(fma.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(fma.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(fma.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)))
(fma.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) #s(literal 2 binary64)))
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a1) a1)
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64))
(*.f64 (cos.f64 th) (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(/.f64 (neg.f64 (cos.f64 th)) (neg.f64 #s(literal 2 binary64)))
(cos.f64 th)
(cos.f64 (fabs.f64 th))
(cos.f64 (neg.f64 th))
(sin.f64 (+.f64 th (/.f64 (PI.f64) #s(literal 2 binary64))))
th
#s(literal 2 binary64)
(fabs.f64 #s(literal 2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(fabs.f64 #s(literal 2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(pow.f64 a1 #s(literal 2 binary64))
a1
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) #s(literal 2 binary64)))
(*.f64 (*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) a2) a2)
(/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))
(*.f64 a2 a2)
(*.f64 (fabs.f64 a2) (fabs.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a2))
(pow.f64 a2 #s(literal 2 binary64))
a2

eval12.0ms (0.3%)

Memory
-27.6MiB live, 17.4MiB allocated; 7ms collecting garbage
Compiler

Compiled 1 999 to 301 computations (84.9% saved)

prune8.0ms (0.2%)

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

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New561167
Fresh000
Picked011
Done000
Total561268
Accuracy
99.7%
Counts
68 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
63.0%
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
99.6%
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.7%
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
65.6%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
98.5%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
99.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
63.0%
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
65.7%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
87.5%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
43.1%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
Compiler

Compiled 617 to 400 computations (35.2% saved)

series153.0ms (4.2%)

Memory
-6.7MiB live, 178.6MiB allocated; 39ms collecting garbage
Counts
31 → 69
Calls
Call 1
Inputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th))
(pow.f64 a1 #s(literal 2 binary64))
a1
#s(literal 2 binary64)
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 a2 a2)
a2
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 a1 a1)
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (pow a1 2) (cos th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (pow a1 2) (pow.f64 a1 #s(literal 2 binary64)))
#s(approx a1 a1)
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))))
#s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64)))
#s(approx (+ (* a1 a1) (* a2 a2)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (/ (pow a1 2) (sqrt 2)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a1 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 a1 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a1 #s(literal 2 binary64))) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx a2 a2)
#s(approx (* (cos th) (* a2 a2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a2 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (pow a1 2) (cos th)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (pow a1 2) (cos th)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (pow a1 2) (cos th)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a1 #s(literal 2 binary64)))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (cos th) #s(literal 1 binary64))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/2 binary64)))))
#s(approx th th)
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 #s(literal 1/48 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/48 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))))))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/48 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/4 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/48 binary64) (*.f64 #s(literal -1/1440 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/4 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/1440 binary64) (pow.f64 a2 #s(literal 2 binary64)))))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (/ (* (cos th) (* a2 a2)) 2) (*.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 #s(literal -1/4 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)))))
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/48 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))))))
#s(approx (/ (* (cos th) (* a2 a2)) 2) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)))))))))
#s(approx (* (cos th) (* a2 a2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (cos th) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (cos th) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a2 #s(literal 2 binary64)))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (cos th) (cos.f64 th))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (/ (cos th) 2) (*.f64 #s(literal 1/2 binary64) (cos.f64 th)))
Calls

9 calls:

TimeVariablePoint
15.0ms
th
inf
5.0ms
th
-inf
3.0ms
a1
inf
2.0ms
a1
0
2.0ms
a2
inf

rewrite245.0ms (6.7%)

Memory
24.0MiB live, 167.1MiB allocated; 31ms collecting garbage
Counts
31 → 380
Calls
Call 1
Inputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th))
(pow.f64 a1 #s(literal 2 binary64))
a1
#s(literal 2 binary64)
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 a2 a2)
a2
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 a1 a1)
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
Outputs
(+.f64 #s(approx (* (* (cos th) (* 1/2 a1)) a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (* (* (cos th) (* 1/2 a1)) a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))
(*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1)
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64)))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (cos.f64 th)))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (cos.f64 th)))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(*.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)))
(fabs.f64 (*.f64 a1 a1))
(neg.f64 (neg.f64 (*.f64 a1 a1)))
(pow.f64 a1 #s(literal 2 binary64))
(pow.f64 (neg.f64 a1) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a1) #s(literal 2 binary64))
a1
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal 2 binary64))
(fabs.f64 #s(literal -2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(literal 2 binary64) #s(literal 1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
(+.f64 (*.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 th)
(cos.f64 (fabs.f64 th))
(cos.f64 (neg.f64 th))
(cos.f64 (fabs.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (neg.f64 th)))
(fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) th))
(sin.f64 (+.f64 (fabs.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
th
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal 2 binary64))
(fabs.f64 #s(literal -2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(literal 2 binary64) #s(literal 1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (cos.f64 th))
(*.f64 (*.f64 (cos.f64 th) a2) (/.f64 a2 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2)
(*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)))
(*.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)))
(*.f64 (cos.f64 th) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 th))
(*.f64 (neg.f64 (cos.f64 th)) #s(literal -1/2 binary64))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 th) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)))
(*.f64 a2 a2)
(*.f64 (fabs.f64 a2) (fabs.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a2))
(*.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)))
(*.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)))
(*.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)))
(fabs.f64 (*.f64 a2 a2))
(neg.f64 (neg.f64 (*.f64 a2 a2)))
(pow.f64 a2 #s(literal 2 binary64))
(pow.f64 (neg.f64 a2) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a2) #s(literal 2 binary64))
a2
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))
(fabs.f64 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 0 binary64))
(/.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) #s(literal 2 binary64) #s(literal 0 binary64))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(*.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)))
(fabs.f64 (*.f64 a1 a1))
(neg.f64 (neg.f64 (*.f64 a1 a1)))
(pow.f64 a1 #s(literal 2 binary64))
(pow.f64 (neg.f64 a1) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a1) #s(literal 2 binary64))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (neg.f64 (*.f64 a1 a1)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)) (*.f64 a1 a1)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (neg.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (neg.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1))) a1))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (cos.f64 th) (neg.f64 (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (neg.f64 (*.f64 a2 a2)) (cos.f64 th) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (neg.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)))) #s(literal -4 binary64))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) a2) (/.f64 a2 #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (cos.f64 th) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(neg.f64 (-.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))))
(*.f64 (cos.f64 th) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 th))
(*.f64 (neg.f64 (cos.f64 th)) #s(literal -1/2 binary64))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 th) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(+.f64 (*.f64 a1 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(-.f64 (*.f64 a1 a1) (neg.f64 (*.f64 a2 a2)))
(-.f64 (*.f64 a2 a2) (neg.f64 (*.f64 a1 a1)))
(fma.f64 a1 a1 (*.f64 a2 a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(neg.f64 (-.f64 (neg.f64 (*.f64 a2 a2)) (*.f64 a1 a1)))
(+.f64 #s(approx (* (* (cos th) (* 1/2 a1)) a1) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (* (* (cos th) (* 1/2 a1)) a1) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))
(*.f64 a1 (/.f64 a1 #s(literal 2 binary64)))
(*.f64 a1 (*.f64 a1 #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (*.f64 a1 a1)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a1) (/.f64 (fabs.f64 a1) #s(literal 2 binary64)))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a1) #s(literal 2 binary64)))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) #s(literal 1/2 binary64)))
(/.f64 (*.f64 a1 a1) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 a1 a1) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 a1 a1)) #s(literal -2 binary64))
(neg.f64 (/.f64 (*.f64 a1 a1) #s(literal -2 binary64)))
(neg.f64 (/.f64 (neg.f64 (*.f64 a1 a1)) #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (neg.f64 (*.f64 a1 a1)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)) (*.f64 a1 a1)))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (neg.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (neg.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1))) a1))
(-.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (cos.f64 th) (neg.f64 (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (neg.f64 (*.f64 a2 a2)) (cos.f64 th) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)) #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)) #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (neg.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)))) #s(literal -4 binary64))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1/2 binary64) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) a2) (/.f64 a2 #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (cos.f64 th) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1)))
(neg.f64 (-.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))
(*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1)
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64)))
(neg.f64 (/.f64 (*.f64 (neg.f64 (*.f64 a1 a1)) (cos.f64 th)) #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (cos.f64 th))
(*.f64 (*.f64 (cos.f64 th) a2) (/.f64 a2 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2)
(*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (*.f64 a2 a2)))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)))
(*.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal -1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 (*.f64 (cos.f64 th) a2) a2)
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 a2 (*.f64 (cos.f64 th) a2))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (cos.f64 th)))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (cos.f64 th)))

eval91.0ms (2.5%)

Memory
12.6MiB live, 106.9MiB allocated; 17ms collecting garbage
Compiler

Compiled 13 162 to 1 599 computations (87.9% saved)

prune29.0ms (0.8%)

Memory
-12.3MiB live, 32.9MiB allocated; 6ms collecting garbage
Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New48013493
Fresh426
Picked415
Done101
Total48916505
Accuracy
99.8%
Counts
505 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.6%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
49.0%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
65.1%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
49.0%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
98.4%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
65.7%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
99.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
99.6%
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
63.0%
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
45.8%
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
50.9%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
43.1%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
Compiler

Compiled 817 to 546 computations (33.2% saved)

series226.0ms (6.2%)

Memory
-24.3MiB live, 150.5MiB allocated; 161ms collecting garbage
Counts
36 → 73
Calls
Call 1
Inputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (cos.f64 th) a1)
(cos.f64 th)
th
a1
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 a2 a2)
a2
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 a1 a1)
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 a1 #s(literal 2 binary64))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 a2 #s(literal 2 binary64))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (* (cos th) a1) (*.f64 a1 (cos.f64 th)))
#s(approx a1 a1)
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))))
#s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64)))
#s(approx (+ (* a1 a1) (* a2 a2)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* a1 a1) (pow.f64 a1 #s(literal 2 binary64)))
#s(approx (/ (pow a1 2) (sqrt 2)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a1 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 a1 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a1 #s(literal 2 binary64))) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx a2 a2)
#s(approx (/ (pow a2 2) (sqrt 2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (pow a2 2) (cos th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a2 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a1 #s(literal 2 binary64)))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a1 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))))))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) a1)))))))
#s(approx (cos th) #s(literal 1 binary64))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/2 binary64)))))
#s(approx th th)
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 #s(literal 1/48 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/48 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))))))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/48 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/4 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/48 binary64) (*.f64 #s(literal -1/1440 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/4 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) 2) (* a2 a2))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/1440 binary64) (pow.f64 a2 #s(literal 2 binary64)))))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (* a2 a2)) (*.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) 2) (* a2 a2)) (fma.f64 #s(literal -1/4 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (* a2 a2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/48 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))))))
#s(approx (* (/ (cos th) 2) (* a2 a2)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/48 binary64) (pow.f64 a2 #s(literal 2 binary64)))))))))
#s(approx (* (pow a2 2) (cos th)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (pow a2 2) (cos th)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (pow a2 2) (cos th)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a2 #s(literal 2 binary64)))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (cos th) (cos.f64 th))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) 2) (+ (* a1 a1) (* a2 a2))) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (/ (cos th) 2) (*.f64 #s(literal 1/2 binary64) (cos.f64 th)))
Calls

9 calls:

TimeVariablePoint
4.0ms
a2
-inf
2.0ms
a1
-inf
2.0ms
a1
inf
2.0ms
a2
inf
2.0ms
th
inf

rewrite238.0ms (6.5%)

Memory
-14.3MiB live, 266.3MiB allocated; 70ms collecting garbage
Counts
36 → 240
Calls
Call 1
Inputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (cos.f64 th) a1)
(cos.f64 th)
th
a1
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 a2 a2)
a2
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64)))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 a1 a1)
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 a1 #s(literal 2 binary64))
#s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(pow.f64 a2 #s(literal 2 binary64))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th))
Outputs
(+.f64 #s(approx (* (* (* (cos th) a1) a1) 1/2) (*.f64 (*.f64 (cos.f64 th) a1) (*.f64 a1 #s(literal 1/2 binary64)))) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (* (* (* (cos th) a1) a1) 1/2) (*.f64 (*.f64 (cos.f64 th) a1) (*.f64 a1 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (cos.f64 th) a1) (*.f64 a1 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1)
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 a1 #s(literal 1/2 binary64))))
(*.f64 (*.f64 a1 #s(literal 1/2 binary64)) (*.f64 (cos.f64 th) a1))
(*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 a1 (*.f64 (*.f64 (cos.f64 th) a1) #s(literal 1/2 binary64)))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1))) #s(literal 2 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64)))
(neg.f64 (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 2 binary64)))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 a1 (*.f64 (cos.f64 th) a1))
(*.f64 (cos.f64 th) a1)
(*.f64 a1 (cos.f64 th))
(+.f64 (*.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 th)
(cos.f64 (fabs.f64 th))
(cos.f64 (neg.f64 th))
(cos.f64 (fabs.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (neg.f64 th)))
(fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) th))
(sin.f64 (+.f64 (fabs.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
th
a1
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal 2 binary64))
(fabs.f64 #s(literal -2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal 2 binary64))
(fabs.f64 #s(literal -2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2)
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)))
(*.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 th))
(*.f64 (neg.f64 (cos.f64 th)) #s(literal -1/2 binary64))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 th) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)))
(*.f64 a2 a2)
(*.f64 (fabs.f64 a2) (fabs.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a2))
(*.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)))
(*.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)))
(*.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)))
(fabs.f64 (*.f64 a2 a2))
(neg.f64 (neg.f64 (*.f64 a2 a2)))
(pow.f64 a2 #s(literal 2 binary64))
(pow.f64 (neg.f64 a2) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a2) #s(literal 2 binary64))
a2
(*.f64 #s(approx (* (cos th) 1/2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (* (cos th) 1/2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64))
(/.f64 #s(literal -1 binary64) #s(literal -2 binary64))
(/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1 binary64))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(+.f64 (*.f64 a1 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(-.f64 (*.f64 a1 a1) (neg.f64 (*.f64 a2 a2)))
(-.f64 (*.f64 a2 a2) (neg.f64 (*.f64 a1 a1)))
(fma.f64 a1 a1 (*.f64 a2 a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(neg.f64 (-.f64 (neg.f64 (*.f64 a2 a2)) (*.f64 a1 a1)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64))
#s(approx (cos th) #s(literal 1 binary64))
#s(literal 1 binary64)
(fabs.f64 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 0 binary64))
(/.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(*.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)))
(*.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)))
(*.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)))
(fabs.f64 (*.f64 a1 a1))
(neg.f64 (neg.f64 (*.f64 a1 a1)))
(pow.f64 a1 #s(literal 2 binary64))
(pow.f64 (neg.f64 a1) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a1) #s(literal 2 binary64))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2))
(/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64))
(+.f64 #s(approx (* (* (* (cos th) a1) a1) 1/2) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64))) #s(approx (* (* (cos th) (* 1/2 a2)) a2) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64))))
#s(approx (* (* (* (cos th) a1) a1) 1/2) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64))
(*.f64 a1 (*.f64 a1 #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1))
(*.f64 (neg.f64 (*.f64 a1 a1)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a1) (/.f64 (fabs.f64 a1) #s(literal 2 binary64)))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a1) #s(literal 2 binary64)))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) #s(literal 1/2 binary64)))
(/.f64 (*.f64 a1 a1) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 a1 a1) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 a1 a1)) #s(literal -2 binary64))
(neg.f64 (/.f64 (*.f64 a1 a1) #s(literal -2 binary64)))
(neg.f64 (/.f64 (neg.f64 (*.f64 a1 a1)) #s(literal 2 binary64)))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(*.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)))
(*.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)))
(*.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)))
(fabs.f64 (*.f64 a1 a1))
(neg.f64 (neg.f64 (*.f64 a1 a1)))
(pow.f64 a1 #s(literal 2 binary64))
(pow.f64 (neg.f64 a1) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a1) #s(literal 2 binary64))
#s(approx (* (* (cos th) (* 1/2 a2)) a2) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64))
(*.f64 a2 (*.f64 a2 #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2))
(*.f64 a2 (/.f64 a2 #s(literal 2 binary64)))
(*.f64 (neg.f64 (*.f64 a2 a2)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a2) (/.f64 (fabs.f64 a2) #s(literal 2 binary64)))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a2) #s(literal 2 binary64)))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) #s(literal 1/2 binary64)))
(/.f64 (*.f64 a2 a2) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 a2 a2) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 a2 a2)) #s(literal -2 binary64))
(neg.f64 (/.f64 (*.f64 a2 a2) #s(literal -2 binary64)))
(neg.f64 (/.f64 (neg.f64 (*.f64 a2 a2)) #s(literal 2 binary64)))
(*.f64 a2 a2)
(*.f64 (fabs.f64 a2) (fabs.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a2))
(*.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)))
(*.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)))
(*.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)))
(fabs.f64 (*.f64 a2 a2))
(neg.f64 (neg.f64 (*.f64 a2 a2)))
(pow.f64 a2 #s(literal 2 binary64))
(pow.f64 (neg.f64 a2) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a2) #s(literal 2 binary64))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2))
(*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2)
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)))
(*.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2)) #s(literal -1/2 binary64))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2)) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (neg.f64 (cos.f64 th)) (*.f64 a2 a2))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)) (*.f64 a2 a2)))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 (*.f64 (cos.f64 th) a2) a2)
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (cos.f64 th)))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (cos.f64 th)))

eval35.0ms (1%)

Memory
19.0MiB live, 63.2MiB allocated; 5ms collecting garbage
Compiler

Compiled 9 671 to 1 297 computations (86.6% saved)

prune21.0ms (0.6%)

Memory
-22.0MiB live, 35.2MiB allocated; 6ms collecting garbage
Pruning

18 alts after pruning (15 fresh and 3 done)

PrunedKeptTotal
New3058313
Fresh3710
Picked325
Done011
Total31118329
Accuracy
99.9%
Counts
329 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.6%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
49.0%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
65.1%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
99.6%
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
63.0%
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
65.7%
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
45.8%
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
50.9%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
98.6%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) (sqrt.f64 #s(literal 2 binary64))))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
43.1%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
63.0%
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
Compiler

Compiled 820 to 566 computations (31% saved)

series128.0ms (3.5%)

Memory
32.4MiB live, 126.5MiB allocated; 3ms collecting garbage
Counts
32 → 71
Calls
Call 1
Inputs
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(fma.f64 a1 a1 (*.f64 a2 a2))
a1
(*.f64 a2 a2)
a2
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(fma.f64 a2 a2 (*.f64 a1 a1))
(*.f64 a1 a1)
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64)))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a2) a2)
(*.f64 (cos.f64 th) a2)
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (cos.f64 th) a1)
(*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))
#s(literal 1 binary64)
Outputs
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (+.f64 (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64)))
#s(approx (+ (* a1 a1) (* a2 a2)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx a1 a1)
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))))
#s(approx (* a1 a1) (pow.f64 a1 #s(literal 2 binary64)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (* (cos th) a1) (*.f64 a1 (cos.f64 th)))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 a1 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a1 #s(literal 2 binary64)))))))
#s(approx a2 a2)
#s(approx (* (* (cos th) a2) a2) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)))
#s(approx (* (cos th) a2) (*.f64 a2 (cos.f64 th)))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (pow.f64 a2 #s(literal 2 binary64)))))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (/.f64 (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (cos th) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 th #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (cos th) #s(literal 1 binary64))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/2 binary64)))))
#s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal -1/720 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/2 binary64)))))
#s(approx th th)
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 #s(literal 1/48 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))))))))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (fma.f64 #s(literal 1/2 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/1440 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (*.f64 #s(literal 1/48 binary64) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))))))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/48 binary64) (pow.f64 th #s(literal 2 binary64))) #s(literal 1/4 binary64)))))
#s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 th #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 th #s(literal 2 binary64)) (+.f64 #s(literal 1/48 binary64) (*.f64 #s(literal -1/1440 binary64) (pow.f64 th #s(literal 2 binary64))))) #s(literal 1/4 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (/ (* (* (cos th) a2) a2) (sqrt 2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (* (* (cos th) a2) a2) (sqrt 2)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (* (* (cos th) a2) a2) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (/ (* (* (cos th) a2) a2) (sqrt 2)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (* (cos th) a2) a2) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a2) a2) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a2) a2) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a2 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a2 #s(literal 2 binary64)))))) (pow.f64 a2 #s(literal 2 binary64))))
#s(approx (* (cos th) a2) (+.f64 a2 (*.f64 #s(literal -1/2 binary64) (*.f64 a2 (pow.f64 th #s(literal 2 binary64))))))
#s(approx (* (cos th) a2) (+.f64 a2 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a2 (*.f64 #s(literal 1/24 binary64) (*.f64 a2 (pow.f64 th #s(literal 2 binary64))))))))
#s(approx (* (cos th) a2) (+.f64 a2 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a2 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 a2 (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) a2)))))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (* (cos th) a1) a1) (fma.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (pow.f64 a1 #s(literal 2 binary64)) (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (pow.f64 a1 #s(literal 2 binary64)))))) (pow.f64 a1 #s(literal 2 binary64))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 #s(literal -1/2 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a1 (*.f64 #s(literal 1/24 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))))))))
#s(approx (* (cos th) a1) (+.f64 a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) a1 (*.f64 (pow.f64 th #s(literal 2 binary64)) (fma.f64 #s(literal -1/720 binary64) (*.f64 a1 (pow.f64 th #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) a1)))))))
#s(approx (* (/ (cos th) (sqrt 2)) (+ (* a1 a1) (* a2 a2))) (/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64)))) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (cos th) (cos.f64 th))
#s(approx (* (/ (cos th) 2) (+ (* a2 a2) (* a1 a1))) (*.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 #s(literal 2 binary64)) (pow.f64 a2 #s(literal 2 binary64))))))
#s(approx (/ (cos th) 2) (*.f64 #s(literal 1/2 binary64) (cos.f64 th)))
Calls

9 calls:

TimeVariablePoint
3.0ms
th
inf
3.0ms
th
-inf
2.0ms
a1
inf
2.0ms
a2
inf
2.0ms
a2
-inf

rewrite191.0ms (5.2%)

Memory
7.7MiB live, 197.3MiB allocated; 13ms collecting garbage
Counts
32 → 343
Calls
Call 1
Inputs
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
(cos.f64 th)
th
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(fma.f64 a1 a1 (*.f64 a2 a2))
a1
(*.f64 a2 a2)
a2
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (/ (cos th) 2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(fma.f64 a2 a2 (*.f64 a1 a1))
(*.f64 a1 a1)
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64)))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a2) a2)
(*.f64 (cos.f64 th) a2)
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
#s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (cos.f64 th) a1)
(*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2))
#s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))
#s(literal 1 binary64)
Outputs
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -1/2 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)) (*.f64 a1 a1)))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 a1 a1)) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (neg.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 1/2 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 (cos.f64 th) a1)) (*.f64 a1 #s(literal 1/2 binary64))))
(-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) (*.f64 (neg.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1))) a1))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (cos.f64 th) (neg.f64 (*.f64 a2 a2)) (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1))) #s(literal -2 binary64))
(/.f64 (fma.f64 (cos.f64 th) (neg.f64 (*.f64 a1 a1)) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)) #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)) #s(literal 2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)) #s(literal 2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (neg.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -2 binary64) (*.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)))) #s(literal -4 binary64))
(/.f64 (fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)))) #s(literal -4 binary64))
(fma.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -1/2 binary64) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a1 (*.f64 (*.f64 (cos.f64 th) a1) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 a2 (*.f64 a2 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 a2 #s(literal 1/2 binary64)) (*.f64 (cos.f64 th) a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) a1) (*.f64 a1 #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 a1 (*.f64 (cos.f64 th) (*.f64 a1 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 th) (*.f64 a1 (*.f64 a1 #s(literal 1/2 binary64))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 a1 #s(literal 1/2 binary64)) (*.f64 (cos.f64 th) a1) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -1/2 binary64)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))))
(*.f64 (cos.f64 th) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (cos.f64 th))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (cos.f64 th)) #s(literal -1/2 binary64))
(/.f64 (cos.f64 th) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 th) #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 (cos.f64 th) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (cos.f64 th)) #s(literal -2 binary64))
(/.f64 (neg.f64 (neg.f64 (cos.f64 th))) #s(literal 2 binary64))
(neg.f64 (*.f64 (cos.f64 th) #s(literal -1/2 binary64)))
(+.f64 (*.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(cos.f64 th)
(cos.f64 (fabs.f64 th))
(cos.f64 (neg.f64 th))
(cos.f64 (fabs.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (fabs.f64 th)))
(cos.f64 (neg.f64 (neg.f64 th)))
(fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) th))
(sin.f64 (+.f64 (fabs.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 th) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
th
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal -2 binary64))
(fabs.f64 #s(literal 2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) #s(literal 1 binary64))
(hypot.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64))) (cosh.f64 (/.f64 #s(literal 0 binary64) #s(literal 2 binary64)))))
(fabs.f64 #s(literal -2 binary64))
(fabs.f64 #s(literal 2 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) #s(literal 1 binary64))
(hypot.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(neg.f64 #s(literal -2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 #s(literal 4 binary64))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(+.f64 (*.f64 a1 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(+.f64 (*.f64 a2 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(-.f64 (*.f64 a1 a1) (neg.f64 (*.f64 a2 a2)))
(-.f64 (*.f64 a2 a2) (neg.f64 (*.f64 a1 a1)))
(fma.f64 a1 a1 (*.f64 a2 a2))
(fma.f64 a2 a2 (*.f64 a1 a1))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 a2 a2 (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(neg.f64 (-.f64 (neg.f64 (*.f64 a2 a2)) (*.f64 a1 a1)))
(neg.f64 (-.f64 (neg.f64 (*.f64 a1 a1)) (*.f64 a2 a2)))
a1
(*.f64 a2 a2)
(*.f64 (fabs.f64 a2) (fabs.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a2))
(*.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)))
(*.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)))
(*.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)))
(fabs.f64 (*.f64 a2 a2))
(neg.f64 (neg.f64 (*.f64 a2 a2)))
(pow.f64 a2 #s(literal 2 binary64))
(pow.f64 (neg.f64 a2) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a2) #s(literal 2 binary64))
a2
(*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(literal -1 binary64) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) #s(literal -2 binary64))
(neg.f64 #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/4 binary64))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(+.f64 (*.f64 a1 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(+.f64 (*.f64 a2 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(-.f64 (*.f64 a1 a1) (neg.f64 (*.f64 a2 a2)))
(-.f64 (*.f64 a2 a2) (neg.f64 (*.f64 a1 a1)))
(fma.f64 a1 a1 (*.f64 a2 a2))
(fma.f64 a2 a2 (*.f64 a1 a1))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 a2 a2))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 a1 a1))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 a2 a2))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 a1 a1))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 a1 a1))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 a2 a2))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 a1) (neg.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 a1) (fabs.f64 a1) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)) (*.f64 (neg.f64 (neg.f64 a2)) a2))
(fma.f64 a2 a2 (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 a2) (neg.f64 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (fabs.f64 a2) (fabs.f64 a2) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 (neg.f64 a2)) (neg.f64 (neg.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (neg.f64 (fabs.f64 a2)) (neg.f64 (fabs.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(fma.f64 (fabs.f64 (fabs.f64 a2)) (fabs.f64 (fabs.f64 a2)) (*.f64 (neg.f64 (neg.f64 a1)) a1))
(neg.f64 (-.f64 (neg.f64 (*.f64 a2 a2)) (*.f64 a1 a1)))
(neg.f64 (-.f64 (neg.f64 (*.f64 a1 a1)) (*.f64 a2 a2)))
(*.f64 a1 a1)
(*.f64 (fabs.f64 a1) (fabs.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a1))
(*.f64 (fabs.f64 (fabs.f64 a1)) (fabs.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (fabs.f64 a1)) (neg.f64 (fabs.f64 a1)))
(*.f64 (neg.f64 (neg.f64 a1)) (neg.f64 (neg.f64 a1)))
(fabs.f64 (*.f64 a1 a1))
(neg.f64 (neg.f64 (*.f64 a1 a1)))
(pow.f64 a1 #s(literal 2 binary64))
(pow.f64 (neg.f64 a1) #s(literal 2 binary64))
(pow.f64 (fabs.f64 a1) #s(literal 2 binary64))
(*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(literal -1 binary64) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) #s(literal -2 binary64))
(neg.f64 #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/4 binary64))
#s(literal -1/2 binary64)
(/.f64 #s(literal 1 binary64) #s(literal -2 binary64))
(/.f64 #s(literal -1 binary64) #s(literal 2 binary64))
(neg.f64 #s(literal 1/2 binary64))
#s(approx (* (cos th) (/ (+ (* a1 a1) (* a2 a2)) 2)) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) a2) (*.f64 a2 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)) a2)
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) #s(literal 1/2 binary64)))
(*.f64 (*.f64 a2 #s(literal 1/2 binary64)) (*.f64 (cos.f64 th) a2))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 #s(literal 1/2 binary64))))
(*.f64 a2 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a2)))
(*.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 a2 #s(literal 1/2 binary64))))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 a2) (*.f64 (neg.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 a2) (*.f64 (fabs.f64 a2) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 a2 a2) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a2) (neg.f64 a2))) #s(literal 2 binary64))
(neg.f64 (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(*.f64 (*.f64 (cos.f64 th) a2) a2)
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a2)) (neg.f64 a2))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a2)) (fabs.f64 a2))
(*.f64 a2 (*.f64 (cos.f64 th) a2))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(+.f64 #s(approx (* (* (cos th) a1) (* a1 1/2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))) (*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (* (* (cos th) a1) (* a1 1/2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cos.f64 th) a1) (*.f64 a1 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)) a1)
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a1 a1))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) #s(literal 1/2 binary64)))
(*.f64 (*.f64 a1 #s(literal 1/2 binary64)) (*.f64 (cos.f64 th) a1))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 a1 #s(literal 1/2 binary64))))
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64)))
(*.f64 (cos.f64 th) (*.f64 a1 (*.f64 a1 #s(literal 1/2 binary64))))
(*.f64 (cos.f64 th) (*.f64 #s(literal 1/2 binary64) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 a1 (*.f64 (*.f64 (cos.f64 th) a1) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 a1) (*.f64 (neg.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 a1) (*.f64 (fabs.f64 a1) (*.f64 (cos.f64 th) #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1))) #s(literal 2 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) #s(literal -2 binary64)))
(neg.f64 (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) (neg.f64 a1)) #s(literal 2 binary64)))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(*.f64 (*.f64 (cos.f64 th) a1) a1)
(*.f64 (*.f64 (cos.f64 th) (neg.f64 a1)) (neg.f64 a1))
(*.f64 (*.f64 (cos.f64 th) (fabs.f64 a1)) (fabs.f64 a1))
(*.f64 a1 (*.f64 (cos.f64 th) a1))
(*.f64 (cos.f64 th) a1)
(*.f64 a1 (cos.f64 th))
(*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (*.f64 a2 a2))
#s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(literal -1 binary64) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) #s(literal -2 binary64))
(neg.f64 #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal -1/4 binary64))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) #s(literal 0 binary64))
(/.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) #s(literal 1 binary64) #s(literal 0 binary64))
(neg.f64 #s(literal -1 binary64))

eval82.0ms (2.2%)

Memory
-40.7MiB live, 100.8MiB allocated; 40ms collecting garbage
Compiler

Compiled 11 313 to 1 416 computations (87.5% saved)

prune18.0ms (0.5%)

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

23 alts after pruning (17 fresh and 6 done)

PrunedKeptTotal
New43213445
Fresh6410
Picked145
Done123
Total44023463
Accuracy
99.9%
Counts
463 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
49.0%
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
49.0%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
55.1%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
65.6%
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
99.6%
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
43.5%
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 a1 #s(literal 2 binary64)))))))
62.7%
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
65.6%
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
63.0%
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
65.7%
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
45.8%
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
49.0%
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
50.9%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
98.7%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
61.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
65.1%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
98.8%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
63.0%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
63.0%
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
Compiler

Compiled 589 to 409 computations (30.6% saved)

regimes538.0ms (14.7%)

Memory
-22.2MiB live, 781.2MiB allocated; 159ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
3 → 1
8 → 1
10 → 1
11 → 1
16 → 2
19 → 2
20 → 1
26 → 1
36 → 1
46 → 1
Calls
Call 1
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
Outputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 2
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
Call 3
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
Outputs
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 4
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
Outputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
Call 5
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Outputs
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 6
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Outputs
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 7
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 8
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
Call 9
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
Outputs
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
Call 10
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
Outputs
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
Call 11
Inputs
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) #s(literal 1/2 binary64)) #s(approx (+ (* a1 a1) (* a2 a2)) (pow.f64 a2 #s(literal 2 binary64))))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) #s(literal 1 binary64)) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 #s(approx (cos th) #s(literal 1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (pow.f64 #s(literal 2 binary64) #s(literal -1/2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 #s(approx (/ (cos th) 2) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/4 binary64) (pow.f64 th #s(literal 2 binary64))))) (fma.f64 a2 a2 (*.f64 a1 a1)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 a2 (*.f64 (*.f64 (cos.f64 th) a2) #s(literal 1/2 binary64))))
#s(approx (* (* (cos th) (+ (* a1 a1) (* a2 a2))) 1/2) (*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) #s(literal 1/2 binary64)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (cos.f64 th) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (+.f64 (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (*.f64 (cos.f64 th) #s(literal 1/2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) #s(literal 2 binary64)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 #s(approx (cos th) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (pow.f64 th #s(literal 2 binary64))))) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (* 1/2 (cos th)) #s(literal 1/2 binary64)) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) #s(approx (* (/ (cos th) (sqrt 2)) (* a2 a2)) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(approx (/ (cos th) (sqrt 2)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) #s(literal 2 binary64)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) #s(literal 2 binary64)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) #s(approx (+ (* a1 a1) (* a2 a2)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 a2 #s(literal 2 binary64)) (pow.f64 a1 #s(literal 2 binary64)))))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/ (* (cos th) (* a2 a2)) 2)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (+.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (*.f64 (pow.f64 a1 #s(literal 2 binary64)) (cos.f64 th)) (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (*.f64 (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))) a2) a2) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (+ (* (/ (cos th) (sqrt 2)) (* a1 a1)) (* (/ (cos th) (sqrt 2)) (* a2 a2))) (/.f64 (*.f64 (pow.f64 a2 #s(literal 2 binary64)) (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))))) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (pow.f64 a1 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (fma.f64 (sin.f64 th) (cos.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) (*.f64 (cos.f64 th) (sin.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
Outputs
(+.f64 #s(approx (* (/ (cos th) (sqrt 2)) (* a1 a1)) (/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
Calls

83 calls:

28.0ms
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
27.0ms
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
26.0ms
th
25.0ms
(*.f64 a2 a2)
22.0ms
(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
49.0%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
49.0%1(cos.f64 th)
49.0%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
49.0%1(*.f64 a1 a1)
49.0%1a1
49.0%1th
49.0%1(*.f64 a2 a2)
49.0%1a2
65.1%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.1%1(cos.f64 th)
65.1%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
65.1%1(*.f64 a1 a1)
65.1%1a1
65.1%1th
65.1%1(*.f64 a2 a2)
65.1%1a2
65.6%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.6%1(cos.f64 th)
65.6%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
65.6%1(*.f64 a1 a1)
65.6%1a1
65.6%1th
65.6%1(*.f64 a2 a2)
65.6%1a2
65.6%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.6%1(cos.f64 th)
65.6%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
65.6%1(*.f64 a1 a1)
65.6%1a1
65.6%1th
65.6%1(*.f64 a2 a2)
65.6%1a2
65.7%1(*.f64 a1 a1)
65.7%1a1
65.7%1(*.f64 a2 a2)
65.7%1a2
65.7%1(cos.f64 th)
65.7%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
65.7%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
78.3%2(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
65.7%1th
77.9%2(cos.f64 th)
77.9%2(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
77.9%2(*.f64 a2 a2)
68.9%2(*.f64 a1 a1)
80.0%2(cos.f64 th)
80.0%2(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
79.8%2(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
68.9%2a1
77.9%2a2
79.9%2th
98.8%1(*.f64 a2 a2)
98.8%1(*.f64 a1 a1)
98.8%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
98.8%1a1
98.8%1a2
98.8%1(cos.f64 th)
98.8%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
98.8%1th
98.8%1(*.f64 a2 a2)
98.8%1(*.f64 a1 a1)
98.8%1(cos.f64 th)
98.8%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
98.8%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
98.8%1a1
98.8%1a2
98.8%1th
99.6%1(*.f64 a2 a2)
99.6%1(*.f64 a1 a1)
99.6%1(cos.f64 th)
99.6%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
99.6%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
99.6%1a1
99.6%1a2
99.6%1th
99.6%1(*.f64 a2 a2)
99.6%1(*.f64 a1 a1)
99.6%1(cos.f64 th)
99.6%1(/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64)))
99.6%1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 #s(literal 2 binary64))) (*.f64 a2 a2)))
99.6%1a1
99.6%1a2
99.6%1th
Compiler

Compiled 1 606 to 604 computations (62.4% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.5145411006186071
0.5208501304521371
Compiler

Compiled 18 to 18 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.6112133069326528e-174
-2.0535015627386708e-242
Compiler

Compiled 22 to 18 computations (18.2% saved)

derivations3.0ms (0.1%)

Memory
4.6MiB live, 4.6MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 315 to 74 computations (76.5% saved)

preprocess169.0ms (4.6%)

Memory
38.5MiB live, 463.3MiB allocated; 36ms collecting garbage
Remove

(sort a1 a2)

(abs th)

(abs a2)

(abs a1)

Compiler

Compiled 3 694 to 2 276 computations (38.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...