math.exp on complex, real part

Time bar (total: 2.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample902.0ms (37.7%)

Memory
-2.2MiB live, 1 249.4MiB allocated; 244ms collecting garbage
Samples
655.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 403.0ms
ival-cos: 270.0ms (67% of total)
ival-exp: 90.0ms (22.3% of total)
ival-mult!: 41.0ms (10.2% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

preprocess32.0ms (1.3%)

Memory
-24.0MiB live, 28.2MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01634
15134
214232
348032
4188332
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
Symmetry

(abs im)

Compiler

Compiled 10 to 10 computations (0% saved)

series5.0ms (0.2%)

Memory
9.0MiB live, 9.0MiB allocated; 0ms collecting garbage
Counts
5 → 21
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
re
(cos.f64 im)
im
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (cos im) #s(hole binary64 (cos im)))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) re (cos im) im)
1.0ms
re
@inf
((* (exp re) (cos im)) (exp re) re (cos im) im)
1.0ms
im
@0
((* (exp re) (cos im)) (exp re) re (cos im) im)
1.0ms
re
@0
((* (exp re) (cos im)) (exp re) re (cos im) im)
0.0ms
im
@inf
((* (exp re) (cos im)) (exp re) re (cos im) im)

rewrite155.0ms (6.5%)

Memory
3.8MiB live, 191.5MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089282
091281
1538270
05475248
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
26 → 41
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(exp.f64 re)
re
(cos.f64 im)
im
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (cos im) #s(hole binary64 (cos im)))
Outputs
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (cosh.f64 re) (*.f64 (cos.f64 im) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) (cosh.f64 re)) (*.f64 (cos.f64 im) (sinh.f64 re)))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
re
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) im))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
im
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im)) re (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im) (*.f64 (*.f64 (*.f64 (cos.f64 im) (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64))) re) re)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx re re)
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (exp re) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 im im) (*.f64 (exp.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)) (exp.f64 re) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64))) im) im) im) im)))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64)))
#s(approx im im)
#s(approx (cos im) (cos.f64 im))

eval4.0ms (0.2%)

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

Compiled 256 to 133 computations (48% saved)

prune4.0ms (0.2%)

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

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New30636
Fresh000
Picked011
Done000
Total30737
Accuracy
100.0%
Counts
37 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.4%
(*.f64 (/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re))) (cos.f64 im))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
61.6%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
64.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
51.6%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
69.6%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
50.8%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 123 to 115 computations (6.5% saved)

series8.0ms (0.3%)

Memory
18.6MiB live, 18.6MiB allocated; 0ms collecting garbage
Counts
21 → 50
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(exp.f64 re)
re
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx im #s(hole binary64 im))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* -1/2 (* (pow im 2) (+ 1 re)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* 1/24 (* (pow im 2) (+ 1 re)))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 re))) (* 1/24 (+ 1 re))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) re (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) im -1/2 1 (* (exp re) (cos im)) (cos im) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) -1 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2)
1.0ms
re
@0
((* (exp re) (cos im)) (exp re) re (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) im -1/2 1 (* (exp re) (cos im)) (cos im) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) -1 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2)
1.0ms
re
@inf
((* (exp re) (cos im)) (exp re) re (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) im -1/2 1 (* (exp re) (cos im)) (cos im) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) -1 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2)
1.0ms
im
@inf
((* (exp re) (cos im)) (exp re) re (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) im -1/2 1 (* (exp re) (cos im)) (cos im) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) -1 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2)
1.0ms
im
@-inf
((* (exp re) (cos im)) (exp re) re (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) im -1/2 1 (* (exp re) (cos im)) (cos im) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) -1 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2)

rewrite146.0ms (6.1%)

Memory
-25.5MiB live, 209.3MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0181780
0194761
11030756
08105726
Stop Event
iter-limit
node-limit
iter-limit
Counts
71 → 214
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(exp.f64 re)
re
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx im #s(hole binary64 im))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* -1/2 (* (pow im 2) (+ 1 re)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* 1/24 (* (pow im 2) (+ 1 re)))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 re))) (* 1/24 (+ 1 re))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
Outputs
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (cosh.f64 re) (sinh.f64 re))
re
(*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(fma.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
(fma.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cosh.f64 re) (*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (*.f64 (sinh.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
(+.f64 (*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (cosh.f64 re)) (*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) (sinh.f64 re)))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))))
(/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))))
(neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 im #s(literal -1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (neg.f64 im) im) #s(literal -1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 im #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))) (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))
im
#s(literal -1/2 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
(*.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im))))) (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re) (*.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im))))))
(/.f64 (+.f64 (pow.f64 (neg.f64 (neg.f64 (cos.f64 im))) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)) (pow.f64 (cos.f64 im) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re) (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))))
(/.f64 (neg.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)))) (neg.f64 (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)))) (neg.f64 (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(/.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re))) (-.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re))) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))
(neg.f64 (-.f64 (*.f64 (neg.f64 re) (cos.f64 im)) (cos.f64 im)))
(neg.f64 (*.f64 (cos.f64 im) (-.f64 #s(literal -1 binary64) re)))
(neg.f64 (*.f64 (-.f64 #s(literal -1 binary64) re) (cos.f64 im)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) #s(literal 1 binary64) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (neg.f64 (neg.f64 (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 re (cos.f64 im) (neg.f64 (neg.f64 (cos.f64 im))))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(-.f64 (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))) (/.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))
(-.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (neg.f64 re) (cos.f64 im)))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im)))
(+.f64 (/.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))) (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(+.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (neg.f64 (neg.f64 (cos.f64 im))))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (neg.f64 (*.f64 (neg.f64 re) (cos.f64 im))))
(+.f64 (cos.f64 im) (*.f64 (neg.f64 (neg.f64 re)) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (neg.f64 (-.f64 #s(literal 1 binary64) re)))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re))))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))) (/.f64 (*.f64 (*.f64 re re) re) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
#s(literal -1 binary64)
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) (*.f64 re re) (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(-.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))) (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (neg.f64 re)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) re)
(*.f64 re (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (*.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) (*.f64 re (/.f64 #s(literal 1 binary64) re)))) (-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re) (pow.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 (*.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) (*.f64 re (/.f64 #s(literal 1 binary64) re))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re)))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 re re))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) re (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 re (/.f64 #s(literal 1 binary64) re) (*.f64 #s(literal 1/2 binary64) re))
(fma.f64 re #s(literal 1/2 binary64) (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re)) re))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1 binary64) re)))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))))
(+.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) (*.f64 #s(literal 1/2 binary64) re))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))
#s(literal 1/2 binary64)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64) (cos.f64 im)) (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 re (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) (cos.f64 im)) (cos.f64 im)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx re re)
#s(approx (* (cos im) (- re -1)) (cos.f64 im))
#s(approx (* (cos im) (- re -1)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (- re -1) #s(literal 1 binary64))
#s(approx (- re -1) (-.f64 re #s(literal -1 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (-.f64 re #s(literal -1 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64))
#s(approx (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (exp re) (exp.f64 re))
#s(approx (* (cos im) (- re -1)) (*.f64 (cos.f64 im) re))
#s(approx (* (cos im) (- re -1)) (*.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)) re))
#s(approx (- re -1) re)
#s(approx (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))
#s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (* (cos im) (- re -1)) (*.f64 (neg.f64 re) (-.f64 (/.f64 (neg.f64 (cos.f64 im)) re) (cos.f64 im))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/24 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) #s(literal 1 binary64))
#s(approx (+ (* (* im im) -1/2) 1) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (* im im) (*.f64 im im))
#s(approx im im)
#s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (cos im) (- re -1)) (-.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (-.f64 re #s(literal -1 binary64)) re) #s(literal -1 binary64)))
#s(approx (* (cos im) (- re -1)) (-.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal 1/24 binary64) (fma.f64 #s(literal -1/2 binary64) re #s(literal -1/2 binary64))) (*.f64 im im) re) #s(literal -1 binary64)))
#s(approx (* (cos im) (- re -1)) (-.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal -1/720 binary64) (fma.f64 #s(literal 1/24 binary64) re #s(literal 1/24 binary64))) (*.f64 im im) (fma.f64 #s(literal -1/2 binary64) re #s(literal -1/2 binary64))) (*.f64 im im) re) #s(literal -1 binary64)))
#s(approx (cos im) (cos.f64 im))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im)))
#s(approx (* (cos im) (- re -1)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))

eval24.0ms (1%)

Memory
5.2MiB live, 51.3MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 017 to 907 computations (55% saved)

prune8.0ms (0.3%)

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

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New2076213
Fresh101
Picked145
Done011
Total20911220
Accuracy
100.0%
Counts
220 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
25.6%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
64.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
31.2%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
28.5%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
64.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
51.6%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
69.6%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
50.8%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
28.6%
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
28.2%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Compiler

Compiled 187 to 183 computations (2.1% saved)

series14.0ms (0.6%)

Memory
-32.3MiB live, 24.7MiB allocated; 3ms collecting garbage
Counts
22 → 63
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))))
(cos.f64 im)
im
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(fma.f64 re re #s(literal -1 binary64))
re
#s(literal -1 binary64)
(-.f64 re #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 1))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* re re) -1) #s(hole binary64 -1))
#s(approx (+ (* re re) -1) #s(hole binary64 (- (pow re 2) 1)))
#s(approx re #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 -1))
#s(approx (- re 1) #s(hole binary64 (- re 1)))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 re))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* re re) -1) #s(hole binary64 (pow re 2)))
#s(approx (+ (* re re) -1) #s(hole binary64 (* (pow re 2) (- 1 (/ 1 (pow re 2))))))
#s(approx (- re 1) #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 (* re (- 1 (/ 1 re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (- re 1) #s(hole binary64 (* -1 (* re (- (/ 1 re) 1)))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (- (pow re 2) 1) (- re 1))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* -1/2 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* 1/24 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* (pow im 2) (+ (* -1/720 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (* 1/24 (/ (- (pow re 2) 1) (- re 1))))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* -1/2 (* (pow im 2) (+ 1 re)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* 1/24 (* (pow im 2) (+ 1 re)))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 re))) (* 1/24 (+ 1 re))))))))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (* (cos im) (- (pow re 2) 1)) (- re 1))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
re
@-inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) re -1 (- re 1) 1 (* (exp re) (cos im)) (exp re) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) -1/2 (* (exp re) (cos im)) (exp re))
3.0ms
re
@inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) re -1 (- re 1) 1 (* (exp re) (cos im)) (exp re) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) -1/2 (* (exp re) (cos im)) (exp re))
2.0ms
im
@inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) re -1 (- re 1) 1 (* (exp re) (cos im)) (exp re) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) -1/2 (* (exp re) (cos im)) (exp re))
2.0ms
im
@-inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) re -1 (- re 1) 1 (* (exp re) (cos im)) (exp re) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) -1/2 (* (exp re) (cos im)) (exp re))
1.0ms
re
@0
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) re -1 (- re 1) 1 (* (exp re) (cos im)) (exp re) (* (exp re) (cos im)) (* (cos im) (- re -1)) (- re -1) (* (exp re) (cos im)) (cos im) (+ (* (* im im) -1/2) 1) (* im im) -1/2 (* (exp re) (cos im)) (exp re))

rewrite166.0ms (6.9%)

Memory
9.5MiB live, 245.3MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02221132
0234951
11312945
08193910
Stop Event
iter-limit
node-limit
iter-limit
Counts
85 → 271
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))))
(cos.f64 im)
im
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(fma.f64 re re #s(literal -1 binary64))
re
#s(literal -1 binary64)
(-.f64 re #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 1))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* re re) -1) #s(hole binary64 -1))
#s(approx (+ (* re re) -1) #s(hole binary64 (- (pow re 2) 1)))
#s(approx re #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 -1))
#s(approx (- re 1) #s(hole binary64 (- re 1)))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 re))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* re re) -1) #s(hole binary64 (pow re 2)))
#s(approx (+ (* re re) -1) #s(hole binary64 (* (pow re 2) (- 1 (/ 1 (pow re 2))))))
#s(approx (- re 1) #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 (* re (- 1 (/ 1 re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (- re 1) #s(hole binary64 (* -1 (* re (- (/ 1 re) 1)))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (- (pow re 2) 1) (- re 1))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* -1/2 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* 1/24 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* (pow im 2) (+ (* -1/720 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (* 1/24 (/ (- (pow re 2) 1) (- re 1))))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 re)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* -1/2 (* (pow im 2) (+ 1 re)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* 1/24 (* (pow im 2) (+ 1 re)))))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (+ (* -1/2 (+ 1 re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 re))) (* 1/24 (+ 1 re))))))))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (* (cos im) (- (pow re 2) 1)) (- re 1))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
Outputs
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
(*.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im))))) (-.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re) (*.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im))))))
(/.f64 (+.f64 (pow.f64 (neg.f64 (neg.f64 (cos.f64 im))) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)) (pow.f64 (cos.f64 im) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re) (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))))
(/.f64 (neg.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)))) (neg.f64 (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)))) (neg.f64 (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(/.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re))) (-.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re))) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64))) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (cos.f64 im)) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 re re #s(literal -1 binary64)) (cos.f64 im)) (neg.f64 (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (*.f64 (fma.f64 re re #s(literal -1 binary64)) (cos.f64 im)) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (/.f64 (*.f64 (fma.f64 re re #s(literal -1 binary64)) (cos.f64 im)) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(neg.f64 (*.f64 (cos.f64 im) (-.f64 #s(literal -1 binary64) re)))
(neg.f64 (*.f64 (-.f64 #s(literal -1 binary64) re) (cos.f64 im)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) #s(literal 1 binary64) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(-.f64 (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))) (/.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))
(-.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (neg.f64 re) (cos.f64 im)))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im)))
(+.f64 (/.f64 (pow.f64 (cos.f64 im) #s(literal 3 binary64)) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))) (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) #s(literal 3 binary64)) (+.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (cos.f64 (*.f64 #s(literal 2 binary64) im)))) (*.f64 re re)) (*.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(+.f64 (neg.f64 (neg.f64 (cos.f64 im))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (neg.f64 (neg.f64 re)) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
im
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))) (+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))) (-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (neg.f64 (-.f64 re #s(literal 1 binary64)))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (neg.f64 (-.f64 re #s(literal 1 binary64)))) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64)) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 re #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64)) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 re) re) #s(literal -1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (neg.f64 (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (/.f64 (fma.f64 re re #s(literal -1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(neg.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 re #s(literal 1 binary64))))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))) (/.f64 (*.f64 (*.f64 re re) re) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))))
(+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 (+.f64 (neg.f64 re) #s(literal -1 binary64)) (-.f64 (neg.f64 re) #s(literal -1 binary64)))
(*.f64 (+.f64 (fabs.f64 re) #s(literal 1 binary64)) (-.f64 (fabs.f64 re) #s(literal 1 binary64)))
(*.f64 (+.f64 (fabs.f64 re) #s(literal -1 binary64)) (-.f64 (fabs.f64 re) #s(literal -1 binary64)))
(*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 (neg.f64 re) #s(literal 1 binary64)))
(*.f64 (-.f64 re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) (*.f64 re re))) (-.f64 #s(literal -1 binary64) (*.f64 re re)))
(/.f64 (+.f64 #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re))) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 #s(literal -1 binary64) (*.f64 re re)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) (*.f64 re re) #s(literal -1 binary64))) (neg.f64 (fma.f64 re re #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 re re) (*.f64 re re) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 re re) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (fma.f64 re re #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 re #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (fma.f64 re re #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 re #s(literal -1 binary64))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (*.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 re re #s(literal -1 binary64))) (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64)))
(/.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (*.f64 (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re))) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (fma.f64 re re #s(literal -1 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)))
(/.f64 (*.f64 (fma.f64 re re #s(literal -1 binary64)) (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (*.f64 (fma.f64 re re #s(literal -1 binary64)) (fma.f64 re re #s(literal -1 binary64))) (fma.f64 re re #s(literal -1 binary64)))
(/.f64 (fma.f64 (*.f64 re re) (*.f64 re re) #s(literal -1 binary64)) (fma.f64 re re #s(literal 1 binary64)))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 (*.f64 re re) (*.f64 re re) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 (*.f64 re re) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1 binary64)))))
(neg.f64 (*.f64 (-.f64 #s(literal -1 binary64) re) (-.f64 re #s(literal 1 binary64))))
(neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)))
(fma.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)) #s(literal -1 binary64))
(fma.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)) #s(literal -1 binary64))
(fma.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)) #s(literal -1 binary64))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) #s(literal -1 binary64))
(fma.f64 (neg.f64 re) (neg.f64 re) #s(literal -1 binary64))
(fma.f64 (fabs.f64 re) (fabs.f64 re) #s(literal -1 binary64))
(fma.f64 re re #s(literal -1 binary64))
(expm1.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (fma.f64 re re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 re re #s(literal 1 binary64))))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re)) (fma.f64 (*.f64 re re) (*.f64 re re) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 re re) (*.f64 re re) (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64))))))
(-.f64 (*.f64 re re) #s(literal 1 binary64))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re))
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re)) (fma.f64 (*.f64 re re) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 (*.f64 re re) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal -1 binary64))))))
(+.f64 (*.f64 re re) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 re re))
re
#s(literal -1 binary64)
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (neg.f64 (-.f64 re #s(literal -1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal -1 binary64) re))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal -1 binary64)))
(neg.f64 (-.f64 #s(literal 1 binary64) re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal -1 binary64))))
(-.f64 re #s(literal 1 binary64))
(+.f64 (/.f64 #s(literal -1 binary64) (-.f64 re #s(literal -1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))))
(+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) (-.f64 re #s(literal -1 binary64))))
(+.f64 re #s(literal -1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))) (+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))) (-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64)))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (neg.f64 (-.f64 re #s(literal 1 binary64)))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (neg.f64 (-.f64 re #s(literal 1 binary64)))) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64)) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) #s(literal -1 binary64))) (*.f64 (neg.f64 (-.f64 re #s(literal 1 binary64))) (-.f64 re #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64)) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 re) re) #s(literal -1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (neg.f64 (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) re) #s(literal -1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (neg.f64 (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (/.f64 (fma.f64 re re #s(literal -1 binary64)) (neg.f64 (-.f64 re #s(literal 1 binary64)))))
(neg.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 re #s(literal 1 binary64))))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))) (/.f64 (*.f64 (*.f64 re re) re) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))))
(+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))))
(/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))))
(fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 im #s(literal -1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (neg.f64 im) im) #s(literal -1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 im #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))) (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64)) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))
#s(literal -1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 im) re) (cos.f64 im)) (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 re (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) (cos.f64 im)) (cos.f64 im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos.f64 im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (- re -1) #s(literal 1 binary64))
#s(approx (- re -1) (-.f64 re #s(literal -1 binary64)))
#s(approx (+ (* re re) -1) #s(literal -1 binary64))
#s(approx (+ (* re re) -1) (fma.f64 re re #s(literal -1 binary64)))
#s(approx re re)
#s(approx (- re 1) #s(literal -1 binary64))
#s(approx (- re 1) (-.f64 re #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos.f64 im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (- re -1) #s(literal 1 binary64))
#s(approx (- re -1) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) re))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)) re))
#s(approx (- re -1) re)
#s(approx (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (+ (* re re) -1) (*.f64 re re))
#s(approx (+ (* re re) -1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))
#s(approx (- re 1) re)
#s(approx (- re 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)) re))
#s(approx (exp re) (exp.f64 re))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) re))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)) re))
#s(approx (- re -1) re)
#s(approx (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (neg.f64 re) (neg.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)))))
#s(approx (- re 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)) re))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (neg.f64 re) (neg.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/24 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (-.f64 re #s(literal -1 binary64)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal 1/24 binary64) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (fma.f64 (*.f64 im im) (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal -1/720 binary64) (*.f64 #s(literal 1/24 binary64) (-.f64 re #s(literal -1 binary64)))) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #s(literal -1 binary64))))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx im im)
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (-.f64 re #s(literal -1 binary64)) re) #s(literal -1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal 1/24 binary64) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) re) #s(literal -1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 (fma.f64 (fma.f64 (*.f64 im im) (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal -1/720 binary64) (*.f64 #s(literal 1/24 binary64) (-.f64 re #s(literal -1 binary64)))) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) re) #s(literal -1 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) #s(literal 1 binary64))
#s(approx (+ (* (* im im) -1/2) 1) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (* im im) (*.f64 im im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (cos im) (cos.f64 im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im)))

eval26.0ms (1.1%)

Memory
19.8MiB live, 65.9MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 545 to 1 029 computations (59.6% saved)

prune12.0ms (0.5%)

Memory
-21.9MiB live, 24.9MiB allocated; 3ms collecting garbage
Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New2456251
Fresh011
Picked325
Done055
Total24814262
Accuracy
100.0%
Counts
262 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
25.6%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
64.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
13.0%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
28.5%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
27.6%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
11.4%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
51.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
51.6%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
69.6%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
50.8%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
28.6%
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
38.3%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
28.2%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Compiler

Compiled 281 to 273 computations (2.8% saved)

series10.0ms (0.4%)

Memory
21.2MiB live, 21.2MiB allocated; 0ms collecting garbage
Counts
27 → 64
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))))
(cos.f64 im)
im
(/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
#s(approx (+ (* re re) -1) #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 re #s(literal 1 binary64))
re
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 im im)
#s(literal -1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(exp.f64 re)
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 1))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* re re) -1) #s(hole binary64 -1))
#s(approx (+ (* re re) -1) #s(hole binary64 (- (pow re 2) 1)))
#s(approx (- re 1) #s(hole binary64 -1))
#s(approx (- re 1) #s(hole binary64 (- re 1)))
#s(approx re #s(hole binary64 re))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 re))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* re re) -1) #s(hole binary64 (pow re 2)))
#s(approx (+ (* re re) -1) #s(hole binary64 (* (pow re 2) (- 1 (/ 1 (pow re 2))))))
#s(approx (- re 1) #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 (* re (- 1 (/ 1 re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (- re 1) #s(hole binary64 (* -1 (* re (- (/ 1 re) 1)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (- (pow re 2) 1) (- re 1))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* -1/2 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* 1/24 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* (pow im 2) (+ (* -1/720 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (* 1/24 (/ (- (pow re 2) 1) (- re 1))))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* (* im im) -1/2) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (* (cos im) (- (pow re 2) 1)) (- re 1))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) -1 (- re 1) re 1 (* (exp re) (cos im)) (exp re) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* im im) -1/2 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2 (* (exp re) (cos im)) (exp re) (- re -1) (* (exp re) (cos im)) (exp re))
2.0ms
re
@-inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) -1 (- re 1) re 1 (* (exp re) (cos im)) (exp re) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* im im) -1/2 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2 (* (exp re) (cos im)) (exp re) (- re -1) (* (exp re) (cos im)) (exp re))
2.0ms
im
@-inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) -1 (- re 1) re 1 (* (exp re) (cos im)) (exp re) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* im im) -1/2 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2 (* (exp re) (cos im)) (exp re) (- re -1) (* (exp re) (cos im)) (exp re))
2.0ms
re
@inf
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) -1 (- re 1) re 1 (* (exp re) (cos im)) (exp re) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* im im) -1/2 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2 (* (exp re) (cos im)) (exp re) (- re -1) (* (exp re) (cos im)) (exp re))
1.0ms
re
@0
((* (exp re) (cos im)) (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos im) im (/ (+ (* re re) -1) (- re 1)) (+ (* re re) -1) -1 (- re 1) re 1 (* (exp re) (cos im)) (exp re) (cos im) (+ (* (* im im) -1/2) 1) (* (* im im) -1/2) (* im im) -1/2 (* (exp re) (cos im)) (exp re) (+ (* (+ (* 1/2 re) 1) re) 1) (+ (* 1/2 re) 1) 1/2 (* (exp re) (cos im)) (exp re) (- re -1) (* (exp re) (cos im)) (exp re))

rewrite153.0ms (6.4%)

Memory
-31.4MiB live, 211.8MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02161174
0231991
11165984
08197936
Stop Event
iter-limit
node-limit
iter-limit
Counts
91 → 218
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))))
(cos.f64 im)
im
(/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
#s(approx (+ (* re re) -1) #s(literal -1 binary64))
#s(literal -1 binary64)
(-.f64 re #s(literal 1 binary64))
re
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 im im)
#s(literal -1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(exp.f64 re)
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (cos im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 1))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* re re) -1) #s(hole binary64 -1))
#s(approx (+ (* re re) -1) #s(hole binary64 (- (pow re 2) 1)))
#s(approx (- re 1) #s(hole binary64 -1))
#s(approx (- re 1) #s(hole binary64 (- re 1)))
#s(approx re #s(hole binary64 re))
#s(approx (exp re) #s(hole binary64 1))
#s(approx (exp re) #s(hole binary64 (+ 1 re)))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (exp re) #s(hole binary64 (+ 1 (* re (+ 1 (* re (+ 1/2 (* 1/6 re))))))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 1))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (+ 1 (* re (+ 1 (* 1/2 re))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (- re -1) #s(hole binary64 1))
#s(approx (- re -1) #s(hole binary64 (+ 1 re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (cos im))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 re))
#s(approx (/ (+ (* re re) -1) (- re 1)) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* re re) -1) #s(hole binary64 (pow re 2)))
#s(approx (+ (* re re) -1) #s(hole binary64 (* (pow re 2) (- 1 (/ 1 (pow re 2))))))
#s(approx (- re 1) #s(hole binary64 re))
#s(approx (- re 1) #s(hole binary64 (* re (- 1 (/ 1 re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (- re -1) #s(hole binary64 re))
#s(approx (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) re)))))))
#s(approx (- re 1) #s(hole binary64 (* -1 (* re (- (/ 1 re) 1)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (- (pow re 2) 1) (- re 1))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* -1/2 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* 1/24 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (- (+ (* (pow im 2) (+ (* -1/2 (/ (- (pow re 2) 1) (- re 1))) (* (pow im 2) (+ (* -1/720 (/ (* (pow im 2) (- (pow re 2) 1)) (- re 1))) (* 1/24 (/ (- (pow re 2) 1) (- re 1))))))) (/ (pow re 2) (- re 1))) (/ 1 (- re 1)))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 1))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (* (* im im) -1/2) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) #s(hole binary64 (/ (* (cos im) (- (pow re 2) 1)) (- re 1))))
#s(approx (cos im) #s(hole binary64 (cos im)))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (+ (* (* im im) -1/2) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
Outputs
#s(approx (* (exp re) (cos im)) (*.f64 (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))) (cos.f64 im)))
(*.f64 (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (neg.f64 (*.f64 (cos.f64 im) #s(approx (+ (* re re) -1) #s(literal -1 binary64)))) (-.f64 #s(literal 1 binary64) re))
(/.f64 (*.f64 (cos.f64 im) #s(approx (+ (* re re) -1) #s(literal -1 binary64))) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (/.f64 (*.f64 (cos.f64 im) #s(approx (+ (* re re) -1) #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) re)))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
im
(/.f64 (neg.f64 (neg.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)))) (-.f64 re #s(literal 1 binary64)))
(/.f64 (neg.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) re))
(/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64))) (-.f64 re #s(literal 1 binary64))))
(neg.f64 (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) re)))
#s(approx (+ (* re re) -1) #s(literal -1 binary64))
#s(literal -1 binary64)
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal -1 binary64) re))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal -1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal -1 binary64)))
(neg.f64 (-.f64 #s(literal 1 binary64) re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64))))))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal -1 binary64))))
(-.f64 re #s(literal 1 binary64))
(+.f64 (/.f64 #s(literal -1 binary64) (-.f64 re #s(literal -1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))))
(+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) (-.f64 re #s(literal -1 binary64))))
(+.f64 re #s(literal -1 binary64))
re
#s(literal 1 binary64)
(*.f64 #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 im im))
(*.f64 im (*.f64 im #s(literal -1/2 binary64)))
(neg.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))
#s(literal -1/2 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) (*.f64 re re) (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(/.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(-.f64 (/.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))) (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 3 binary64)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (neg.f64 re)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) re)
(*.f64 re (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (*.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) (*.f64 re (/.f64 #s(literal 1 binary64) re)))) (-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re)))))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64) (pow.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 (*.f64 (*.f64 re (/.f64 #s(literal 1 binary64) re)) (*.f64 re (/.f64 #s(literal 1 binary64) re))) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64)))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (*.f64 re re))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64)))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64))) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re)))))
(/.f64 (fma.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64) #s(literal 1 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) re (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 re #s(literal 1/2 binary64) (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 re re)) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) re) re))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1 binary64) re)))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) #s(literal 1/2 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))) (/.f64 (*.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re))))))
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 re re) re) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 re re) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))))))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re (/.f64 #s(literal 1 binary64) re)))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) (+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re))) (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))) (-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64))) (neg.f64 (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(/.f64 (neg.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) #s(literal 1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 re) re) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 #s(literal 1 binary64) re)))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 #s(literal 1 binary64) re)))
(/.f64 (fma.f64 (*.f64 (neg.f64 re) re) (-.f64 re #s(literal 1 binary64)) (*.f64 (-.f64 #s(literal 1 binary64) re) #s(literal -1 binary64))) (*.f64 (-.f64 #s(literal 1 binary64) re) (-.f64 re #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64)) (*.f64 (-.f64 re #s(literal 1 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 re #s(literal 1 binary64)) (-.f64 re #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 re) re) #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 #s(literal 1 binary64) re))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (-.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 re re) re #s(literal 1 binary64)) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64)))))
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re))))
(/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64)))))
(neg.f64 (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) re)))
(neg.f64 (/.f64 (-.f64 #s(literal 1 binary64) (*.f64 re re)) (-.f64 re #s(literal 1 binary64))))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) re) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 re re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal -1 binary64))))))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 #s(literal 1 binary64) re)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 re #s(literal 1 binary64))))
(-.f64 re #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))) (/.f64 (*.f64 (*.f64 re re) re) (+.f64 #s(literal 1 binary64) (fma.f64 re re (*.f64 #s(literal -1 binary64) re)))))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)) (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))))
(+.f64 (/.f64 (*.f64 re re) (-.f64 re #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) re)))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(*.f64 #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(exp.f64 re)
(+.f64 (cosh.f64 re) (sinh.f64 re))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64) (cos.f64 im)) (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 re (fma.f64 re (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) (cos.f64 im)) (cos.f64 im)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (cos.f64 im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (- re -1) #s(literal 1 binary64))
#s(approx (- re -1) (-.f64 re #s(literal -1 binary64)))
#s(approx (+ (* re re) -1) #s(literal -1 binary64))
#s(approx (+ (* re re) -1) (fma.f64 re re #s(literal -1 binary64)))
#s(approx (- re 1) #s(literal -1 binary64))
#s(approx (- re 1) (-.f64 re #s(literal 1 binary64)))
#s(approx re re)
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (-.f64 re #s(literal -1 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64))
#s(approx (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (- re -1) #s(literal 1 binary64))
#s(approx (- re -1) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) re))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)) re))
#s(approx (- re -1) re)
#s(approx (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (+ (* re re) -1) (*.f64 re re))
#s(approx (+ (* re re) -1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))
#s(approx (- re 1) re)
#s(approx (- re 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)) re))
#s(approx (exp re) (exp.f64 re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))
#s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (- re -1) re)
#s(approx (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (neg.f64 re) (-.f64 (/.f64 (neg.f64 (cos.f64 im)) re) (cos.f64 im))))
#s(approx (- re 1) (*.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)) re))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/24 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (-.f64 re #s(literal -1 binary64)))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal -1/2 binary64) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal 1/24 binary64) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (fma.f64 (fma.f64 (*.f64 im im) (fma.f64 (*.f64 (*.f64 im im) (-.f64 re #s(literal -1 binary64))) #s(literal -1/720 binary64) (*.f64 #s(literal 1/24 binary64) (-.f64 re #s(literal -1 binary64)))) (*.f64 (-.f64 re #s(literal -1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im) (-.f64 re #s(literal -1 binary64))))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx im im)
#s(approx (+ (* (* im im) -1/2) 1) #s(literal 1 binary64))
#s(approx (+ (* (* im im) -1/2) 1) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (* (* im im) -1/2) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (* im im) (*.f64 im im))
#s(approx (* (cos im) (/ (+ (* re re) -1) (- re 1))) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (cos im) (cos.f64 im))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (+ (* (* im im) -1/2) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im)))

eval26.0ms (1.1%)

Memory
13.3MiB live, 59.5MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 127 to 972 computations (54.3% saved)

prune15.0ms (0.6%)

Memory
-14.6MiB live, 32.3MiB allocated; 2ms collecting garbage
Pruning

18 alts after pruning (7 fresh and 11 done)

PrunedKeptTotal
New2296235
Fresh112
Picked145
Done077
Total23118249
Accuracy
100.0%
Counts
249 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
25.6%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
64.7%
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
13.0%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
27.6%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
11.4%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
11.4%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
51.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
51.6%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
28.8%
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
69.6%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
50.8%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
28.6%
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
38.3%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
13.0%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
24.9%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
13.1%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
28.2%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Compiler

Compiled 429 to 358 computations (16.6% saved)

regimes34.0ms (1.4%)

Memory
23.2MiB live, 70.0MiB allocated; 3ms collecting garbage
Counts
25 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
(*.f64 (exp.f64 re) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 (fma.f64 re re #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 (/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (-.f64 (cosh.f64 re) (sinh.f64 re))) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

7.0ms
im
7.0ms
re
7.0ms
(cos.f64 im)
6.0ms
(exp.f64 re)
6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
100.0%1(cos.f64 im)
100.0%1(exp.f64 re)
100.0%1(*.f64 (exp.f64 re) (cos.f64 im))
100.0%1re
100.0%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes31.0ms (1.3%)

Memory
12.7MiB live, 62.6MiB allocated; 3ms collecting garbage
Counts
22 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

5 calls:

8.0ms
re
6.0ms
im
6.0ms
(cos.f64 im)
5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
83.4%2(cos.f64 im)
93.1%3(exp.f64 re)
99.5%5(*.f64 (exp.f64 re) (cos.f64 im))
96.6%4re
82.0%2im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes7.0ms (0.3%)

Memory
-33.2MiB live, 14.0MiB allocated; 2ms collecting garbage
Counts
21 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

1 calls:

6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
99.4%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes6.0ms (0.2%)

Memory
13.6MiB live, 13.6MiB allocated; 0ms collecting garbage
Counts
20 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

1 calls:

5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
99.4%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes6.0ms (0.2%)

Memory
12.2MiB live, 12.2MiB allocated; 0ms collecting garbage
Counts
19 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

1 calls:

5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
99.2%5(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes26.0ms (1.1%)

Memory
5.8MiB live, 52.8MiB allocated; 2ms collecting garbage
Counts
18 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 re re))) (*.f64 re re)))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (/.f64 (fma.f64 (*.f64 (*.f64 im im) (*.f64 im im)) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal -1 binary64)))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

5 calls:

6.0ms
re
5.0ms
im
5.0ms
(cos.f64 im)
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
69.6%1im
73.5%2(cos.f64 im)
69.6%1(exp.f64 re)
71.6%2re
77.4%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes4.0ms (0.2%)

Memory
9.1MiB live, 9.1MiB allocated; 0ms collecting garbage
Counts
12 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

1 calls:

3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
75.1%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes7.0ms (0.3%)

Memory
-30.3MiB live, 16.9MiB allocated; 1ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
Calls

2 calls:

3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
3.0ms
(cos.f64 im)
Results
AccuracySegmentsBranch
69.6%1(cos.f64 im)
72.9%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 7 to 8 computations (-14.3% saved)

regimes14.0ms (0.6%)

Memory
33.3MiB live, 33.3MiB allocated; 0ms collecting garbage
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
Calls

5 calls:

3.0ms
(cos.f64 im)
3.0ms
im
3.0ms
re
2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
41.5%2(cos.f64 im)
44.7%2(exp.f64 re)
38.3%1im
44.7%2re
48.0%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes7.0ms (0.3%)

Memory
-43.7MiB live, 6.0MiB allocated; 7ms collecting garbage
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
Outputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
#s(approx (* (exp re) (cos im)) (*.f64 #s(approx (cos im) #s(literal 1 binary64)) (/.f64 #s(approx (+ (* re re) -1) #s(literal -1 binary64)) (-.f64 re #s(literal 1 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
Calls

1 calls:

6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
47.9%3(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes2.0ms (0.1%)

Memory
5.7MiB live, 5.7MiB allocated; 0ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
Outputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 im (*.f64 im #s(literal -1/2 binary64))))))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
Calls

1 calls:

2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
47.9%3(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes9.0ms (0.4%)

Memory
21.1MiB live, 21.1MiB allocated; 0ms collecting garbage
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) re))))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
Calls

5 calls:

2.0ms
im
2.0ms
re
2.0ms
(cos.f64 im)
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
30.8%2im
30.5%2(cos.f64 im)
38.3%2re
38.3%2(exp.f64 re)
38.3%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes7.0ms (0.3%)

Memory
-29.8MiB live, 17.8MiB allocated; 1ms collecting garbage
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (* (cos im) (- re -1)) (-.f64 re #s(literal -1 binary64))))
Calls

5 calls:

2.0ms
(cos.f64 im)
1.0ms
im
1.0ms
re
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
28.6%1(cos.f64 im)
28.6%1im
28.6%1(exp.f64 re)
28.6%1re
28.6%1(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes5.0ms (0.2%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Calls

5 calls:

1.0ms
im
1.0ms
re
1.0ms
(cos.f64 im)
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
28.2%1im
28.2%1(cos.f64 im)
28.2%1re
28.2%1(exp.f64 re)
28.2%1(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9947020759094924
0.9999999897878046
0.0ms
9.83804531093745e-38
0.07130733688760729
0.0ms
-0.001958067143006368
-0.0
0.0ms
-inf
-0.9998644697010112
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9947020759094924
0.9999999897878046
0.0ms
9.83804531093745e-38
0.07130733688760729
0.0ms
-0.001958067143006368
-0.0
0.0ms
-inf
-0.9998644697010112
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9947020759094924
0.9999999897878046
0.0ms
9.83804531093745e-38
0.07130733688760729
0.0ms
-0.001958067143006368
-0.0
0.0ms
-inf
-0.9998644697010112
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9947020759094924
0.9999999897878046
0.0ms
9.83804531093745e-38
0.07130733688760729
0.0ms
-0.001958067143006368
-0.0
0.0ms
-inf
-0.9998644697010112
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
9.83804531093745e-38
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000006443031475
+inf
0.0ms
0.0
9.83804531093745e-38
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000006443031475
+inf
0.0ms
9.83804531093745e-38
0.07130733688760729
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000006443031475
+inf
Compiler

Compiled 8 to 10 computations (-25% saved)

derivations408.0ms (17.1%)

Memory
-13.2MiB live, 460.1MiB allocated; 21ms collecting garbage
Stop Event
fuel
Compiler

Compiled 175 to 102 computations (41.7% saved)

preprocess103.0ms (4.3%)

Memory
3.3MiB live, 248.3MiB allocated; 26ms collecting garbage
Remove

(abs im)

Compiler

Compiled 1 086 to 907 computations (16.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...