math.exp on complex, real part

Time bar (total: 3.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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)

sample1.8s (47.9%)

Memory
-171.8MiB live, 811.0MiB allocated; 1.6s collecting garbage
Samples
1.5s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-cos: 1.0s (80.9% of total)
ival-exp: 196.0ms (15.5% of total)
ival-mult!: 44.0ms (3.5% of total)
adjust: 1.0ms (0.1% of total)
Bogosity

preprocess37.0ms (1%)

Memory
-13.4MiB live, 30.1MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01634
16032
223832
3118932
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.1%)

Memory
6.2MiB live, 6.2MiB allocated; 0ms collecting garbage
Counts
5 → 18
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) (* -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 (* -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))
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)
0.0ms
im
@inf
((* (exp re) (cos im)) (exp re) re (cos im) im)
0.0ms
im
@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)

rewrite197.0ms (5.3%)

Memory
35.6MiB live, 178.0MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086265
088264
1584253
25697252
08149230
124976230
Stop Event
saturated
node-limit
iter-limit
Counts
23 → 61
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) (* -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 (* -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))
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 (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)))
(pow.f64 (exp.f64 (+.f64 re re)) #s(literal 1/2 binary64))
(-.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re)))
(sqrt.f64 (exp.f64 (+.f64 re re)))
(fabs.f64 (neg.f64 (exp.f64 re)))
(fabs.f64 (exp.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 (neg.f64 im)) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 (fabs.f64 im)) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (fabs.f64 (fabs.f64 im)) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 im) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (fabs.f64 im) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im))
(fma.f64 (neg.f64 (sin.f64 im)) #s(literal 0 binary64) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (fabs.f64 im)) #s(literal 0 binary64) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(fma.f64 (sin.f64 im) #s(literal 0 binary64) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) (sin.f64 (neg.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 im))))
(cos.f64 (neg.f64 (neg.f64 (fabs.f64 im))))
(cos.f64 (neg.f64 (fabs.f64 (fabs.f64 im))))
(cos.f64 (fabs.f64 (neg.f64 (neg.f64 im))))
(cos.f64 (fabs.f64 (neg.f64 (fabs.f64 im))))
(cos.f64 (fabs.f64 (fabs.f64 (fabs.f64 im))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 (fabs.f64 im)))
(cos.f64 (fabs.f64 (fabs.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 (fabs.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (neg.f64 (sin.f64 im)) #s(literal 0 binary64)) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 (sin.f64 (fabs.f64 im)) #s(literal 0 binary64)) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) #s(literal 1 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)) (*.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) (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)

eval8.0ms (0.2%)

Memory
-33.6MiB live, 12.4MiB allocated; 5ms collecting garbage
Compiler

Compiled 336 to 188 computations (44% saved)

prune4.0ms (0.1%)

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

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New51556
Fresh000
Picked011
Done000
Total51657
Accuracy
100.0%
Counts
57 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
57.2%
(*.f64 (exp.f64 re) #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))))
59.9%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
65.3%
#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)))
56.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
55.7%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 111 to 107 computations (3.6% saved)

series14.0ms (0.4%)

Memory
26.4MiB live, 26.4MiB allocated; 0ms collecting garbage
Counts
25 → 55
Calls
Call 1
Inputs
#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)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im)) re (cos.f64 im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(exp.f64 re)
#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 (exp.f64 re) #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 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 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))))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#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 (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ (cos im) (* 1/2 (* re (cos im))))))
#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 #s(hole binary64 re))
#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 (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* 1/2 (* (pow re 2) (cos im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (cos im)) (/ (cos im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (cos im)) (+ (/ (cos im) re) (/ (cos im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* 1/2 (* re (cos im)))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* re (+ (* 1/2 (cos im)) (/ (cos im) re)))))
#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 (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 (+ 1 (/ 1 re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (cos im)) (* -1 (/ (cos im) re))) re)) (* 1/2 (cos im))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (cos im) re)) (* -1/2 (cos im)))))))
#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) (* -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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/2 (* re (+ 1 (* 1/2 re)))) 1/2))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/2 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/24 (* 1/24 (* re (+ 1 (* 1/2 re))))))) 1/2))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/2 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/24 (+ (* 1/24 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/720 (* re (+ 1 (* 1/2 re)))) 1/720)))))) 1/2))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* -1/2 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/2 (+ 1 (* 1/2 re))) (* 1/24 (* (pow im 2) (+ 1 (* 1/2 re))))))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/2 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/24 (+ 1 (* 1/2 re)))))))))))
#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) #s(hole binary64 (pow im 2)))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (- (* 1/24 (pow im 2)) 1/2)))
#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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ (cos im) (* re (* (cos im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* (cos im) (+ 1 (* 1/2 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))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* 1/24 (pow im 4))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (* 1/24 (pow im 2))))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
Calls

6 calls:

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

rewrite242.0ms (6.5%)

Memory
-1.8MiB live, 274.9MiB allocated; 56ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02621267
02881219
118531217
087441172
1291591172
Stop Event
saturated
node-limit
iter-limit
Counts
80 → 169
Calls
Call 1
Inputs
#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)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im)) re (cos.f64 im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
(cos.f64 im)
im
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(exp.f64 re)
#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 (exp.f64 re) #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 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
#s(literal 1/24 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))))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#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 (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ (cos im) (* 1/2 (* re (cos im))))))
#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 #s(hole binary64 re))
#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 (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* 1/2 (* (pow re 2) (cos im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (cos im)) (/ (cos im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (cos im)) (+ (/ (cos im) re) (/ (cos im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* 1/2 (* re (cos im)))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* re (+ (* 1/2 (cos im)) (/ (cos im) re)))))
#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 (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 (+ 1 (/ 1 re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (cos im)) (* -1 (/ (cos im) re))) re)) (* 1/2 (cos im))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (cos im) re)) (* -1/2 (cos im)))))))
#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) (* -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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/2 (* re (+ 1 (* 1/2 re)))) 1/2))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/2 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/24 (* 1/24 (* re (+ 1 (* 1/2 re))))))) 1/2))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/2 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/24 (+ (* 1/24 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/720 (* re (+ 1 (* 1/2 re)))) 1/720)))))) 1/2))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* -1/2 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/2 (+ 1 (* 1/2 re))) (* 1/24 (* (pow im 2) (+ 1 (* 1/2 re))))))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/2 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/24 (+ 1 (* 1/2 re)))))))))))
#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) #s(hole binary64 (pow im 2)))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (- (* 1/24 (pow im 2)) 1/2)))
#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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) #s(hole binary64 (+ (cos im) (* re (* (cos im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) #s(hole binary64 (* (cos im) (+ 1 (* 1/2 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))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* 1/24 (pow im 4))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) #s(hole binary64 (* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (* 1/24 (pow im 2))))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(hole binary64 (* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (* (cos im) (- re -1)) #s(hole binary64 (* (cos im) (+ 1 re))))
Outputs
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re) (cos.f64 im)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im)) re (cos.f64 im))
(fma.f64 (*.f64 (cos.f64 im) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im)) (cos.f64 im))
(-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re)) (neg.f64 (cos.f64 im)))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im))))
(-.f64 (cos.f64 im) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (cos.f64 im))
(*.f64 (cos.f64 im) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64)))
(fma.f64 (cos.f64 im) #s(literal 1 binary64) (*.f64 (cos.f64 im) (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 (cos.f64 im) #s(literal 1 binary64)) (*.f64 (cos.f64 im) (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64)))
(*.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)))
(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/2 binary64) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) re))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.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)
re
#s(literal 1 binary64)
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (fabs.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 (fabs.f64 im)))
(cos.f64 (fabs.f64 (fabs.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 (fabs.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 #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))))
(sqrt.f64 (exp.f64 (+.f64 re re)))
(fabs.f64 (neg.f64 (exp.f64 re)))
(fabs.f64 (exp.f64 re))
(exp.f64 re)
(+.f64 (cosh.f64 re) (sinh.f64 re))
#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))
(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 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.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 (neg.f64 im)) (neg.f64 (neg.f64 im)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 im im)
(pow.f64 (neg.f64 (neg.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im)))
(fabs.f64 (neg.f64 (*.f64 im im)))
(fabs.f64 (*.f64 im im))
#s(literal -1/2 binary64)
(*.f64 #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im))
(neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
#s(literal 1/24 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))))
(*.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im))
(*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64)))
(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 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im)))
(-.f64 (cos.f64 im) (neg.f64 (*.f64 (cos.f64 im) re)))
(+.f64 (*.f64 (cos.f64 im) #s(literal 1 binary64)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 #s(literal 1 binary64) (neg.f64 re))
(-.f64 re #s(literal -1 binary64))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 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)) (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 (* (+ (* 1/2 re) 1) (cos im)) (fma.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64) (cos.f64 im)))
#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 re)
#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 (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (*.f64 (*.f64 (*.f64 re re) (cos.f64 im)) #s(literal 1/2 binary64)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (*.f64 (fma.f64 (cos.f64 im) #s(literal 1/2 binary64) (/.f64 (cos.f64 im) re)) (*.f64 re re)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (*.f64 (fma.f64 (cos.f64 im) #s(literal 1/2 binary64) (+.f64 (/.f64 (cos.f64 im) (*.f64 re re)) (/.f64 (cos.f64 im) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (*.f64 (*.f64 (cos.f64 im) re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (*.f64 (fma.f64 (cos.f64 im) #s(literal 1/2 binary64) (/.f64 (cos.f64 im) 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 (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) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (*.f64 (fma.f64 (cos.f64 im) #s(literal 1/2 binary64) (neg.f64 (/.f64 (+.f64 (/.f64 (neg.f64 (cos.f64 im)) re) (neg.f64 (cos.f64 im))) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (neg.f64 (*.f64 (fma.f64 (cos.f64 im) #s(literal -1/2 binary64) (/.f64 (neg.f64 (cos.f64 im)) re)) re)))
#s(approx (* (cos im) (- re -1)) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 (cos.f64 im)) re) (neg.f64 (cos.f64 im))) 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 (*.f64 im im) #s(literal 1/24 binary64)) (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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (+.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1/2 binary64) #s(literal -1/2 binary64)) (*.f64 im im))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1/24 binary64) #s(literal 1/24 binary64)) (*.f64 im im))) #s(literal 1/2 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (+.f64 (fma.f64 (*.f64 #s(literal 1/24 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1/720 binary64)) (*.f64 im im))) #s(literal 1/24 binary64)) (*.f64 im im))) #s(literal 1/2 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (+.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 1 binary64)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im))))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1/24 binary64))) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal -1/2 binary64))) (*.f64 im im))))
#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 (*.f64 im im) #s(literal 1/24 binary64) #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) (*.f64 im im))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(literal -1/2 binary64))
#s(approx (+ (* 1/24 (* im im)) -1/2) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 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) (*.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 -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 (-.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 (+ (* (* (+ (* 1/2 re) 1) (cos im)) re) (cos im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (cos.f64 im) re) (cos.f64 im)))
#s(approx (* (+ (* 1/2 re) 1) (cos im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (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 (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (+.f64 #s(literal 1/24 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) (*.f64 im im))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 im im)))
#s(approx (* (cos im) (- re -1)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))

eval23.0ms (0.6%)

Memory
-12.4MiB live, 34.5MiB allocated; 7ms collecting garbage
Compiler

Compiled 1 608 to 732 computations (54.5% saved)

prune9.0ms (0.3%)

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

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New1869195
Fresh000
Picked235
Done011
Total18813201
Accuracy
100.0%
Counts
201 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
57.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
59.9%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
57.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
24.6%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
23.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
39.1%
(*.f64 #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 (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
33.6%
(*.f64 #s(approx (exp re) (-.f64 re #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))))
33.9%
(*.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))))
56.4%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
56.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
30.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))))
55.7%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 290 to 282 computations (2.8% saved)

series10.0ms (0.3%)

Memory
15.7MiB live, 15.7MiB allocated; 0ms collecting garbage
Counts
34 → 50
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal -1/2 binary64)
#s(literal 1 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)))
(-.f64 re #s(literal -1 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 #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 (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #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 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 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 (+ (* 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 (- 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 (* (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 (* -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/24) -1/2) im) #s(hole binary64 (* -1/2 im)))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* im (- (* 1/24 (pow im 2)) 1/2))))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 (- (* 1/24 (pow im 2)) 1/2)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx im #s(hole binary64 im))
#s(approx (* (* im im) 1/24) #s(hole binary64 (* 1/24 (pow im 2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (* 1/2 (PI)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (cos (* 1/2 (PI)))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* -1/2 (* im (sin (* 1/2 (PI))))))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* im (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* im (cos (* 1/2 (PI))))))))))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* 1/2 (PI))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (+ im (* 1/2 (PI)))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* 1/24 (pow im 4))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* 1/24 (pow im 3))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* (pow im 3) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 (* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#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 (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (+ im (* 1/2 (PI))))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (PI) im))))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* -1 (* (pow im 3) (- (* 1/2 (/ 1 (pow im 2))) 1/24)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (* -1 im)))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* -1 (* im (- (* -1/2 (/ (PI) im)) 1)))))
Calls

6 calls:

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

rewrite219.0ms (5.9%)

Memory
-4.2MiB live, 180.3MiB allocated; 81ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02261031
0258955
11389921
08352887
125997887
Stop Event
saturated
node-limit
iter-limit
Counts
84 → 243
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(exp.f64 re)
re
#s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(*.f64 im im)
im
#s(literal 1/24 binary64)
#s(literal -1/2 binary64)
#s(literal 1 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)))
(-.f64 re #s(literal -1 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 #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 (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #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 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
#s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))
(/.f64 (PI.f64) #s(literal 2 binary64))
(PI.f64)
#s(literal 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 (+ (* 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 (- 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 (* (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 (* -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/24) -1/2) im) #s(hole binary64 (* -1/2 im)))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* im (- (* 1/24 (pow im 2)) 1/2))))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 -1/2))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 (- (* 1/24 (pow im 2)) 1/2)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx im #s(hole binary64 im))
#s(approx (* (* im im) 1/24) #s(hole binary64 (* 1/24 (pow im 2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (* 1/2 (PI)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (cos (* 1/2 (PI)))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* -1/2 (* im (sin (* 1/2 (PI))))))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* im (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* im (cos (* 1/2 (PI))))))))))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* 1/2 (PI))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (+ im (* 1/2 (PI)))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* 1/24 (pow im 4))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* (pow im 4) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) #s(hole binary64 (* (pow im 4) (- (+ 1/24 (/ 1 (pow im 4))) (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* 1/24 (pow im 3))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* (pow im 3) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#s(approx (+ (* (* im im) 1/24) -1/2) #s(hole binary64 (* (pow im 2) (- 1/24 (* 1/2 (/ 1 (pow im 2)))))))
#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 (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (+ im (* 1/2 (PI))))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (PI) im))))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) #s(hole binary64 (* -1 (* (pow im 3) (- (* 1/2 (/ 1 (pow im 2))) 1/24)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (* -1 im)))))
#s(approx (+ im (/ (PI) 2)) #s(hole binary64 (* -1 (* im (- (* -1/2 (/ (PI) im)) 1)))))
Outputs
(*.f64 (exp.f64 re) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))) (exp.f64 re))
(-.f64 (cosh.f64 re) (neg.f64 (sinh.f64 re)))
(sqrt.f64 (exp.f64 (+.f64 re re)))
(fabs.f64 (neg.f64 (exp.f64 re)))
(fabs.f64 (exp.f64 re))
(exp.f64 re)
(+.f64 (cosh.f64 re) (sinh.f64 re))
re
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64)))
(neg.f64 (-.f64 (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))) #s(literal 1 binary64)))
(neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)) #s(literal 1 binary64)))
(neg.f64 (+.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))))
(neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im))))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)))
(fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))
(fma.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 im im)) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im)))
(+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im)
(*.f64 im (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))
(neg.f64 (-.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) im) im #s(literal -1/2 binary64))
(fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64))
(fma.f64 im (*.f64 im #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(-.f64 #s(literal -1/2 binary64) (neg.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))
(+.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.f64 (fabs.f64 im)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.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 (*.f64 im im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 im im))
(*.f64 im im)
(pow.f64 (neg.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.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 im #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im)))
(fabs.f64 (neg.f64 (*.f64 im im)))
(fabs.f64 (*.f64 im im))
im
#s(literal 1/24 binary64)
#s(literal -1/2 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(neg.f64 (-.f64 (neg.f64 re) #s(literal 1 binary64)))
(neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 re)))
(neg.f64 (-.f64 #s(literal -1 binary64) re))
(-.f64 #s(literal 1 binary64) (neg.f64 re))
(-.f64 re #s(literal -1 binary64))
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
#s(literal -1 binary64)
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1 binary64)))
(neg.f64 (-.f64 (neg.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64))) #s(literal 1 binary64)))
(neg.f64 (+.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im))))
(neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
(neg.f64 (-.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 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.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 #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 (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #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 #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)))
(neg.f64 (-.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)))
(neg.f64 (+.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))
(neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.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))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #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 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(+.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 (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)))
(neg.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 1 binary64)))
(neg.f64 (-.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) re)) #s(literal 1 binary64)))
(neg.f64 (+.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) re)))
(neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) re))))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(fma.f64 #s(literal 1/2 binary64) re (/.f64 re re))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 re #s(literal 1/2 binary64) (/.f64 re re))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (neg.f64 (/.f64 re 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))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re 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 (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1 binary64))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1 binary64))))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1 binary64)))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))))
(fma.f64 (*.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) #s(literal 1 binary64))
(fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))))))
(+.f64 (*.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
(*.f64 (*.f64 #s(literal 1/24 binary64) im) im)
(*.f64 (*.f64 im im) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 im im))
(*.f64 im (*.f64 im #s(literal 1/24 binary64)))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(neg.f64 (-.f64 (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 im))) (*.f64 #s(literal 1 binary64) (cos.f64 im))))
(neg.f64 (sin.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im))))
(sin.f64 (+.f64 (fabs.f64 im) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (+.f64 (neg.f64 im) (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im))
(fma.f64 (sin.f64 im) #s(literal 0 binary64) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 1 binary64) im)) (*.f64 #s(literal 0 binary64) (sin.f64 (*.f64 #s(literal 1 binary64) im))))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 im) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (*.f64 (cos.f64 im) (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))))
(-.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (neg.f64 (*.f64 (cos.f64 im) #s(literal 1 binary64))))
(-.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) (sin.f64 (neg.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))))
(-.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (neg.f64 (sin.f64 im))))
(cos.f64 (neg.f64 (fabs.f64 im)))
(cos.f64 (fabs.f64 (fabs.f64 im)))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (fabs.f64 im))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (*.f64 #s(literal 1 binary64) im))) (*.f64 #s(literal 0 binary64) (sin.f64 (*.f64 #s(literal 1 binary64) im))))
(+.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 (neg.f64 (neg.f64 im)))))
(neg.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)) im))
(neg.f64 (-.f64 (neg.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))) im))
(neg.f64 (neg.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im)))
(fma.f64 (neg.f64 (PI.f64)) #s(literal -1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(fma.f64 (neg.f64 (PI.f64)) #s(literal -1/2 binary64) (neg.f64 (neg.f64 im)))
(fma.f64 (neg.f64 (PI.f64)) #s(literal -1/2 binary64) im)
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) (neg.f64 (neg.f64 im)))
(fma.f64 (PI.f64) #s(literal 1/2 binary64) im)
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (*.f64 #s(literal 1 binary64) im))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) (neg.f64 (neg.f64 im)))
(fma.f64 #s(literal 1/2 binary64) (PI.f64) im)
(fma.f64 #s(literal 1 binary64) (*.f64 (PI.f64) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) im))
(fma.f64 #s(literal 1 binary64) (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 (neg.f64 im)))
(fma.f64 #s(literal 1 binary64) (*.f64 (PI.f64) #s(literal 1/2 binary64)) im)
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 (*.f64 #s(literal 1 binary64) im)))
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 (neg.f64 (neg.f64 im))))
(-.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 im))
(-.f64 im (*.f64 #s(literal -1/2 binary64) (PI.f64)))
(-.f64 im (neg.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) im))
(+.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) (neg.f64 (neg.f64 im)))
(+.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)) im)
(+.f64 im (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (PI.f64)) #s(literal -1/2 binary64))
(*.f64 (PI.f64) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (PI.f64))
(*.f64 #s(literal 1 binary64) (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (neg.f64 (PI.f64))) #s(literal 2 binary64))
(/.f64 (fabs.f64 (neg.f64 (PI.f64))) #s(literal 2 binary64))
(/.f64 (neg.f64 (PI.f64)) #s(literal -2 binary64))
(/.f64 (PI.f64) #s(literal 2 binary64))
(sqrt.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (PI.f64) (PI.f64))))
(fabs.f64 (neg.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64))))
(fabs.f64 (*.f64 (PI.f64) #s(literal 1/2 binary64)))
(log.f64 (pow.f64 (exp.f64 (PI.f64)) #s(literal 1/2 binary64)))
(PI.f64)
#s(literal 2 binary64)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (-.f64 re #s(literal -1 binary64)) (cos.f64 im)))
#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 (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) (*.f64 (exp.f64 re) (cos.f64 im)))
#s(approx (exp re) (exp.f64 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) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) re)) #s(literal -1/2 binary64)) (*.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 (* (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 (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re) (*.f64 (exp.f64 re) #s(literal -1/2 binary64))) (*.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 (exp.f64 re) #s(literal 1/24 binary64))) (*.f64 im im) (*.f64 (exp.f64 re) #s(literal -1/2 binary64))) (*.f64 im im) (exp.f64 re)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (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/24) -1/2) im) (*.f64 #s(literal -1/2 binary64) im))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im))
#s(approx (+ (* 1/24 (* im im)) -1/2) #s(literal -1/2 binary64))
#s(approx (+ (* 1/24 (* im im)) -1/2) (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)))
#s(approx (* im im) (*.f64 im im))
#s(approx im im)
#s(approx (* (* im im) 1/24) (*.f64 (*.f64 im im) #s(literal 1/24 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 #s(literal 0 binary64) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 0 binary64) im) #s(literal -1/2 binary64)) im #s(literal 0 binary64)) im #s(literal 1 binary64)))
#s(approx (+ im (/ (PI) 2)) (*.f64 (PI.f64) #s(literal 1/2 binary64)))
#s(approx (+ im (/ (PI) 2)) (fma.f64 (PI.f64) #s(literal 1/2 binary64) im))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (+ (* (* (+ (* (* im im) 1/24) -1/2) im) im) 1) (*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/24 binary64)) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (pow.f64 im #s(literal 4 binary64))))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 1/24 binary64)))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) (*.f64 (*.f64 (*.f64 im im) im) (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))))
#s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 im 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 (sin (+ im (/ (PI) 2))) (cos.f64 im))
#s(approx (+ im (/ (PI) 2)) (*.f64 (fma.f64 (/.f64 (PI.f64) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) im))
#s(approx (* (+ (* (* im im) 1/24) -1/2) im) (*.f64 (*.f64 (neg.f64 im) (*.f64 im im)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1/24 binary64))))
#s(approx (sin (+ im (/ (PI) 2))) (cos.f64 im))
#s(approx (+ im (/ (PI) 2)) (*.f64 (neg.f64 im) (fma.f64 (/.f64 (PI.f64) im) #s(literal -1/2 binary64) #s(literal -1 binary64))))

eval38.0ms (1%)

Memory
7.8MiB live, 53.0MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 156 to 1 097 computations (49.1% saved)

prune19.0ms (0.5%)

Memory
-17.5MiB live, 27.8MiB allocated; 6ms collecting garbage
Pruning

19 alts after pruning (12 fresh and 7 done)

PrunedKeptTotal
New2829291
Fresh134
Picked235
Done044
Total28519304
Accuracy
100.0%
Counts
304 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
59.9%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
57.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
23.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
39.1%
(*.f64 #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 (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
11.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))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
38.9%
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
33.6%
(*.f64 #s(approx (exp re) (-.f64 re #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))))
33.9%
(*.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))))
13.8%
(*.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)))))
13.5%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
13.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
33.2%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
56.4%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
56.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
30.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im)))
55.7%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.4%
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64))))
30.2%
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
Compiler

Compiled 477 to 470 computations (1.5% saved)

series11.0ms (0.3%)

Memory
20.7MiB live, 20.7MiB allocated; 0ms collecting garbage
Counts
31 → 41
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
im
re
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64))))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64))
(*.f64 #s(literal -1/2 binary64) im)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp 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) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
#s(literal 1/2 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)
(*.f64 #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 (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 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(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))
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 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 (* (* re re) 1/2) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (* re re) #s(hole binary64 (pow re 2)))
#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 (+ (* (cos im) re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#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) (cos im)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) 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) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (* -1/2 re) 1/2))))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (* 1/24 re)))) 1/2))))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (+ (* 1/24 re) (* (pow im 2) (- (* -1/720 re) 1/720)))))) 1/2))))))
#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 (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (* 1/2 (PI)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (cos (* 1/2 (PI)))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* -1/2 (* im (sin (* 1/2 (PI))))))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* im (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* im (cos (* 1/2 (PI))))))))))))
#s(approx (+ (* (* -1/2 im) 1) 0) #s(hole binary64 (* -1/2 im)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (* im im) -1/2) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (+ im (* 1/2 (PI))))))
#s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (* -1 im)))))
Calls

6 calls:

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

rewrite238.0ms (6.4%)

Memory
-20.4MiB live, 168.9MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0221914
0241819
11486799
08240766
125190766
Stop Event
saturated
node-limit
iter-limit
Counts
72 → 198
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(cos.f64 im)
im
re
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64))))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64))
(*.f64 #s(literal -1/2 binary64) im)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp 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) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 re re)
#s(literal 1/2 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)
(*.f64 #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 (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 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(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))
#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 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 (* (* re re) 1/2) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (* re re) #s(hole binary64 (pow re 2)))
#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 (+ (* (cos im) re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (* re (+ (cos im) (/ (cos im) re)))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#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) (cos im)) #s(hole binary64 (* -1 (* re (+ (* -1 (cos im)) (* -1 (/ (cos im) 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) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (* -1/2 re) 1/2))))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (* 1/24 re)))) 1/2))))))
#s(approx (+ (* (cos im) re) (cos im)) #s(hole binary64 (+ 1 (+ re (* (pow im 2) (- (+ (* -1/2 re) (* (pow im 2) (+ 1/24 (+ (* 1/24 re) (* (pow im 2) (- (* -1/720 re) 1/720)))))) 1/2))))))
#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 (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (* 1/2 (PI)))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (cos (* 1/2 (PI)))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* -1/2 (* im (sin (* 1/2 (PI))))))))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (+ (sin (* 1/2 (PI))) (* im (+ (cos (* 1/2 (PI))) (* im (+ (* -1/2 (sin (* 1/2 (PI)))) (* -1/6 (* im (cos (* 1/2 (PI))))))))))))
#s(approx (+ (* (* -1/2 im) 1) 0) #s(hole binary64 (* -1/2 im)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (* im im) -1/2) #s(hole binary64 (* -1/2 (pow im 2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (+ im (* 1/2 (PI))))))
#s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/2))))
#s(approx (sin (+ im (/ (PI) 2))) #s(hole binary64 (sin (- (* 1/2 (PI)) (* -1 im)))))
Outputs
#s(approx (* (exp re) (cos im)) (*.f64 (+.f64 #s(literal 1 binary64) re) (cos.f64 im)))
(*.f64 (+.f64 #s(literal 1 binary64) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) re) (neg.f64 (cos.f64 im)))
(-.f64 (cos.f64 im) (*.f64 (neg.f64 re) (cos.f64 im)))
(-.f64 (cos.f64 im) (neg.f64 (*.f64 (cos.f64 im) re)))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(sin.f64 (+.f64 (fabs.f64 im) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (+.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (PI.f64))))
(sin.f64 (fma.f64 #s(literal 1/2 binary64) (PI.f64) im))
(fma.f64 (sin.f64 im) #s(literal 0 binary64) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 im) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (cos.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))) (*.f64 (cos.f64 im) (sin.f64 (*.f64 #s(literal -1/2 binary64) (PI.f64)))))
(-.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) (sin.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64))))))
(cos.f64 (neg.f64 (fabs.f64 im)))
(cos.f64 (fabs.f64 (fabs.f64 im)))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (fabs.f64 im))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) #s(literal 0 binary64)) (*.f64 (cos.f64 im) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 im)) (*.f64 #s(literal 0 binary64) (sin.f64 im)))
im
re
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64))))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) 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 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/2 binary64) im)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.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 (*.f64 #s(literal 1 binary64) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(*.f64 #s(literal -1/2 binary64) im)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 im #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) im) #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1 binary64) im) #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) im #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(fma.f64 im #s(literal -1/2 binary64) #s(literal 0 binary64))
(-.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)))
(-.f64 #s(literal 0 binary64) (neg.f64 (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 #s(literal 1 binary64) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(*.f64 #s(literal -1/2 binary64) im)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 im #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) im) #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1 binary64) im) #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) im #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(fma.f64 im #s(literal -1/2 binary64) #s(literal 0 binary64))
(-.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)))
(-.f64 #s(literal 0 binary64) (neg.f64 (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 #s(literal -1/2 binary64) im))
#s(literal -1/2 binary64)
#s(literal 0 binary64)
(*.f64 #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64))) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64))))
#s(approx (exp 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) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(*.f64 re (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (fabs.f64 (fabs.f64 re)) (fabs.f64 (fabs.f64 re)))
(*.f64 (neg.f64 (fabs.f64 re)) (neg.f64 (fabs.f64 re)))
(*.f64 (neg.f64 (neg.f64 re)) (neg.f64 (neg.f64 re)))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (fabs.f64 (fabs.f64 re)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 re)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 re)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 re) #s(literal 2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re)))
(fabs.f64 (neg.f64 (*.f64 re re)))
(fabs.f64 (*.f64 re re))
#s(literal 1/2 binary64)
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) 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 #s(literal -1/2 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (*.f64 #s(literal -1/2 binary64) im)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.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 (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 (neg.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.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 im #s(literal 2 binary64))
(sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im)))
(fabs.f64 (neg.f64 (*.f64 im im)))
(fabs.f64 (*.f64 im im))
(*.f64 #s(approx (sin (+ im (/ (PI) 2))) #s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) (*.f64 (*.f64 im im) #s(literal -1/2 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 #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 (sin (+ im (/ (PI) 2))) #s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) (*.f64 (*.f64 im im) #s(literal -1/2 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 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #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 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(+.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 (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)))
(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/2 binary64) re) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 #s(literal 1/2 binary64) re)))
(-.f64 #s(literal 1 binary64) (*.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(approx (sin (+ im (/ (PI) 2))) #s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64))))
#s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) im)
(*.f64 (*.f64 im im) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 im im))
(*.f64 im (*.f64 #s(literal -1/2 binary64) im))
(fma.f64 #s(literal 0 binary64) im (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(fma.f64 im #s(literal 0 binary64) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
(+.f64 (*.f64 #s(literal 0 binary64) im) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (*.f64 (+.f64 #s(literal 1 binary64) re) (cos.f64 im)))
#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 re re)
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
#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) 1/2) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (* re re) (*.f64 re re))
#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 (+ (* (cos im) re) (cos im)) (*.f64 (cos.f64 im) re))
#s(approx (+ (* (cos im) re) (cos im)) (*.f64 (+.f64 (/.f64 (cos.f64 im) re) (cos.f64 im)) re))
#s(approx (exp re) (exp.f64 re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) (*.f64 re re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (+.f64 (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) re)) #s(literal 1/2 binary64)) (*.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) (cos im)) (neg.f64 (*.f64 (+.f64 (/.f64 (neg.f64 (cos.f64 im)) re) (neg.f64 (cos.f64 im))) 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) (cos im)) (+.f64 (fma.f64 (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) (cos im)) (+.f64 (fma.f64 (-.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) re #s(literal 1/24 binary64)) (*.f64 im im) (*.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) (cos im)) (+.f64 (fma.f64 (-.f64 (fma.f64 (+.f64 (fma.f64 #s(literal 1/24 binary64) re #s(literal 1/24 binary64)) (*.f64 (fma.f64 #s(literal -1/720 binary64) re #s(literal -1/720 binary64)) (*.f64 im im))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) re)) #s(literal 1/2 binary64)) (*.f64 im im) re) #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (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 (sin (+ im (/ (PI) 2))) (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 (sin (+ im (/ (PI) 2))) #s(literal 1 binary64))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 #s(literal 0 binary64) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 #s(literal -1/2 binary64) im) im #s(literal 1 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 0 binary64) im) #s(literal -1/2 binary64)) im #s(literal 0 binary64)) im #s(literal 1 binary64)))
#s(approx (+ (* (* -1/2 im) 1) 0) (*.f64 #s(literal -1/2 binary64) im))
#s(approx (* im im) (*.f64 im im))
#s(approx (* (* im im) -1/2) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))
#s(approx (sin (+ im (/ (PI) 2))) (cos.f64 im))
#s(approx (+ (* (+ (* (* -1/2 im) 1) 0) im) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im)))
#s(approx (sin (+ im (/ (PI) 2))) (sin.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (PI.f64)) (neg.f64 im))))

eval24.0ms (0.6%)

Memory
-20.8MiB live, 39.7MiB allocated; 9ms collecting garbage
Compiler

Compiled 1 290 to 710 computations (45% saved)

prune14.0ms (0.4%)

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

20 alts after pruning (9 fresh and 11 done)

PrunedKeptTotal
New1612163
Fresh077
Picked145
Done077
Total16220182
Accuracy
100.0%
Counts
182 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
59.9%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
57.2%
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
23.5%
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
39.1%
(*.f64 #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 (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
11.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))) #s(approx (cos im) #s(approx (+ (* (* im im) -1/2) 1) (*.f64 (*.f64 im im) #s(literal -1/2 binary64)))))
38.9%
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) re #s(literal 1 binary64))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
11.7%
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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)))))
33.6%
(*.f64 #s(approx (exp re) (-.f64 re #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))))
33.9%
(*.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))))
13.8%
(*.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)))))
13.5%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
13.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
33.2%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
56.4%
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
56.4%
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
30.8%
#s(approx (* (exp re) (cos im)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im)))
55.7%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.4%
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
30.2%
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
Compiler

Compiled 482 to 412 computations (14.5% saved)

regimes36.0ms (1%)

Memory
-22.3MiB live, 69.1MiB allocated; 7ms collecting garbage
Counts
26 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #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))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im)))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64)))))
(*.f64 (exp.f64 re) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
#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)))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

10.0ms
im
7.0ms
re
6.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)

regimes34.0ms (0.9%)

Memory
-9.2MiB live, 37.3MiB allocated; 2ms collecting garbage
Counts
23 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #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))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) im)))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (-.f64 re #s(literal -1 binary64))))
#s(approx (* (exp re) (cos im)) (sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 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))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

5 calls:

11.0ms
(cos.f64 im)
6.0ms
im
6.0ms
re
5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
76.3%2(cos.f64 im)
87.1%3(exp.f64 re)
93.0%5(*.f64 (exp.f64 re) (cos.f64 im))
87.1%3re
77.1%2im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.2%)

Memory
7.8MiB live, 7.8MiB allocated; 0ms collecting garbage
Counts
21 → 5
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #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))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (sin.f64 (fma.f64 (PI.f64) #s(literal 1/2 binary64) 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))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

1 calls:

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

Compiled 5 to 5 computations (0% saved)

regimes28.0ms (0.8%)

Memory
-4.6MiB live, 45.9MiB allocated; 7ms collecting garbage
Counts
19 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
(*.f64 (exp.f64 re) #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))))
(*.f64 (exp.f64 re) #s(approx (cos im) #s(approx (+ (* (+ (* 1/24 (* im im)) -1/2) (* im im)) 1) (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/24 binary64)))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/24 binary64) #s(literal -1/2 binary64)) im) im #s(literal 1 binary64))))
Calls

5 calls:

9.0ms
im
5.0ms
re
5.0ms
(cos.f64 im)
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
64.5%2(cos.f64 im)
61.9%2im
59.9%1(exp.f64 re)
59.9%1re
68.0%3(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes5.0ms (0.1%)

Memory
10.9MiB live, 10.9MiB allocated; 0ms collecting garbage
Counts
16 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
(*.f64 (exp.f64 re) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

1 calls:

4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
68.0%3(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes13.0ms (0.3%)

Memory
23.8MiB live, 23.8MiB allocated; 0ms collecting garbage
Counts
15 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (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) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.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) (-.f64 re #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))))
Calls

3 calls:

4.0ms
im
4.0ms
(cos.f64 im)
4.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
Results
AccuracySegmentsBranch
61.9%2im
59.9%1(cos.f64 im)
59.9%1(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes6.0ms (0.2%)

Memory
-37.0MiB live, 9.8MiB allocated; 2ms collecting garbage
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #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) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
(*.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) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

1 calls:

5.0ms
im
Results
AccuracySegmentsBranch
61.9%2im
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes17.0ms (0.5%)

Memory
28.6MiB live, 28.6MiB allocated; 0ms collecting garbage
Counts
12 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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 (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))) #s(approx (cos im) (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)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

5 calls:

4.0ms
im
3.0ms
re
3.0ms
(cos.f64 im)
3.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
47.2%3(cos.f64 im)
57.1%3(*.f64 (exp.f64 re) (cos.f64 im))
56.1%3(exp.f64 re)
56.1%3re
47.2%3im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes21.0ms (0.6%)

Memory
-34.3MiB live, 12.2MiB allocated; 3ms collecting garbage
Counts
10 → 3
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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 (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))) #s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (exp re) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 #s(approx (+ (* 1/2 re) 1) (*.f64 #s(literal 1/2 binary64) re)) 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) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) 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) (-.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)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (cos im) (fma.f64 #s(approx (+ (* 1/24 (* im im)) -1/2) (*.f64 (*.f64 im im) #s(literal 1/24 binary64))) (*.f64 im im) #s(literal 1 binary64))))
Calls

3 calls:

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

Compiled 8 to 10 computations (-25% saved)

regimes10.0ms (0.3%)

Memory
12.0MiB live, 12.0MiB allocated; 0ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (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)))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64) #s(literal 0 binary64)) im #s(literal 1 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)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
Calls

5 calls:

2.0ms
(cos.f64 im)
2.0ms
im
2.0ms
re
2.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
41.9%3(exp.f64 re)
41.9%3re
33.9%1im
36.1%2(cos.f64 im)
42.1%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #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
31.4%1im
33.9%2(cos.f64 im)
33.3%2(exp.f64 re)
33.3%2re
34.0%2(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes5.0ms (0.1%)

Memory
11.5MiB live, 11.5MiB 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 (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (sin (+ im (/ (PI) 2))) #s(literal 1 binary64)))
Calls

5 calls:

1.0ms
re
1.0ms
im
1.0ms
(cos.f64 im)
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
30.2%1im
30.2%1(exp.f64 re)
30.2%1re
30.2%1(cos.f64 im)
30.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.9999999999999999
1.0
0.0ms
0.04167074572917332
0.12230642228278513
0.0ms
-0.017476077728934638
-0.0
0.0ms
-inf
-0.9999298451134071
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999999999
1.0
0.0ms
0.04167074572917332
0.12230642228278513
0.0ms
-0.017476077728934638
-0.0
0.0ms
-inf
-0.9999298451134071
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
0.9999520993641763
0.9999999999999999
0.0ms
0.04167074572917332
0.12230642228278513
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
0.9999520993641763
0.9999999999999999
0.0ms
0.04167074572917332
0.12230642228278513
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch15.0ms (0.4%)

Memory
-24.5MiB live, 22.0MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
1.0201773678456271e+191
1.5337120552917135e+193
Samples
8.0ms112×0valid
Compiler

Compiled 190 to 199 computations (-4.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-cos: 4.0ms (71.3% of total)
ival-exp: 1.0ms (17.8% of total)
ival-mult!: 1.0ms (17.8% of total)
adjust: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.0201773678456271e+191
1.5337120552917135e+193
Compiler

Compiled 211 to 220 computations (-4.3% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999520993641763
0.9999999999999999
0.0ms
0.0
0.04167074572917332
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
0.9999520993641763
0.9999999999999999
0.0ms
0.0
0.04167074572917332
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.04167074572917332
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.017476077728934638
-0.0
Compiler

Compiled 8 to 10 computations (-25% saved)

derivations452.0ms (12.2%)

Memory
18.7MiB live, 381.3MiB allocated; 86ms collecting garbage
Stop Event
fuel
Compiler

Compiled 151 to 90 computations (40.4% saved)

preprocess165.0ms (4.4%)

Memory
-5.9MiB live, 242.8MiB allocated; 27ms collecting garbage
Remove

(abs im)

Compiler

Compiled 1 010 to 849 computations (15.9% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...