math.exp on complex, imaginary part

Time bar (total: 3.3s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample944.0ms (28.4%)

Memory
-14.6MiB live, 1 031.3MiB allocated; 224ms collecting garbage
Samples
713.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 518.0ms
ival-sin: 348.0ms (67.2% of total)
ival-exp: 96.0ms (18.5% of total)
ival-mult!: 72.0ms (13.9% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

preprocess44.0ms (1.3%)

Memory
-8.1MiB live, 38.3MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01634
14332
214932
372132
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (exp.f64 re) (sin.f64 im))
Symmetry

(negabs im)

Compiler

Compiled 10 to 10 computations (0% saved)

series4.0ms (0.1%)

Memory
7.4MiB live, 7.4MiB allocated; 0ms collecting garbage
Counts
5 → 19
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 re)
re
(sin.f64 im)
im
Outputs
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
Calls

6 calls:

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

rewrite297.0ms (8.9%)

Memory
35.6MiB live, 213.5MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
093288
095287
1625276
25897269
09095247
128186247
Stop Event
saturated
node-limit
iter-limit
Counts
24 → 40
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 re)
re
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
Outputs
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (sin.f64 im))
(fma.f64 (cosh.f64 re) (sin.f64 im) (*.f64 (sinh.f64 re) (sin.f64 im)))
(fma.f64 (sin.f64 im) (cosh.f64 re) (*.f64 (sin.f64 im) (sinh.f64 re)))
(+.f64 (*.f64 (sin.f64 im) (cosh.f64 re)) (*.f64 (sin.f64 im) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) (sin.f64 im)) (*.f64 (sinh.f64 re) (sin.f64 im)))
(pow.f64 (exp.f64 #s(literal 1 binary64)) re)
(pow.f64 (exp.f64 (+.f64 re re)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 re) #s(literal 1 binary64))
(-.f64 (cosh.f64 re) (sinh.f64 (neg.f64 re)))
(sqrt.f64 (exp.f64 (*.f64 #s(literal 2 binary64) re)))
(sqrt.f64 (exp.f64 (+.f64 re re)))
(fabs.f64 (neg.f64 (exp.f64 re)))
(fabs.f64 (exp.f64 re))
(exp.f64 (/.f64 (+.f64 re re) #s(literal 2 binary64)))
(exp.f64 re)
(+.f64 (sinh.f64 re) (cosh.f64 re))
(+.f64 (cosh.f64 re) (sinh.f64 re))
re
(sin.f64 im)
im
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (-.f64 re #s(literal -1 binary64)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 (sin.f64 im) (-.f64 re #s(literal -1 binary64)) (*.f64 (*.f64 (*.f64 (sin.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) (sin im)) (*.f64 (sin.f64 im) (exp.f64 re)))
#s(approx (exp re) (exp.f64 re))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) (*.f64 (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (*.f64 im im) (*.f64 (exp.f64 re) (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) (exp.f64 re) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64))) im) im) im) im)) im))
#s(approx (sin im) im)
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal 1 binary64)) im))

eval3.0ms (0.1%)

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

Compiled 219 to 124 computations (43.4% saved)

prune9.0ms (0.3%)

Memory
-36.5MiB live, 7.5MiB allocated; 4ms collecting garbage
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New30535
Fresh000
Picked101
Done000
Total31536
Accuracy
100.0%
Counts
36 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.3%
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
67.7%
(*.f64 (exp.f64 re) #s(approx (sin im) im))
56.4%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
63.0%
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
55.9%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Compiler

Compiled 90 to 88 computations (2.2% saved)

series12.0ms (0.4%)

Memory
40.4MiB live, 40.4MiB allocated; 0ms collecting garbage
Counts
23 → 48
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(exp.f64 re)
re
#s(approx (sin im) im)
im
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(sin.f64 im)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
Outputs
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (+ (sin im) (* 1/2 (* re (sin im))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#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) (sin im)) re) (sin im)) #s(hole binary64 (* 1/2 (* (pow re 2) (sin im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (+ (/ (sin im) re) (/ (sin im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* 1/2 (* re (sin im)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* re (+ (* 1/2 (sin im)) (/ (sin 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 (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (sin im)) (* -1 (/ (sin im) re))) re)) (* 1/2 (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (sin im) re)) (* -1/2 (sin im)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (* re (+ 1 (* 1/2 re)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/6 (* re (+ 1 (* 1/2 re)))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (* 1/120 (* re (+ 1 (* 1/2 re))))))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (+ (* 1/120 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/5040 (* re (+ 1 (* 1/2 re)))) 1/5040)))))) 1/6)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* -1/6 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* 1/120 (* (pow im 2) (+ 1 (* 1/2 re)))))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/120 (+ 1 (* 1/2 re))))))))))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (+ (sin im) (* re (* (sin im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* (sin im) (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Calls

6 calls:

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

rewrite218.0ms (6.6%)

Memory
0.9MiB live, 371.8MiB allocated; 67ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02371100
02581058
116051056
081451014
1261811014
Stop Event
saturated
node-limit
iter-limit
Counts
71 → 132
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(exp.f64 re)
re
#s(approx (sin im) im)
im
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 im im)
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(sin.f64 im)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (+ (sin im) (* 1/2 (* re (sin im))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#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) (sin im)) re) (sin im)) #s(hole binary64 (* 1/2 (* (pow re 2) (sin im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (+ (/ (sin im) re) (/ (sin im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* 1/2 (* re (sin im)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* re (+ (* 1/2 (sin im)) (/ (sin 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 (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (sin im)) (* -1 (/ (sin im) re))) re)) (* 1/2 (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (sin im) re)) (* -1/2 (sin im)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (* re (+ 1 (* 1/2 re)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/6 (* re (+ 1 (* 1/2 re)))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (* 1/120 (* re (+ 1 (* 1/2 re))))))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (+ (* 1/120 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/5040 (* re (+ 1 (* 1/2 re)))) 1/5040)))))) 1/6)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* -1/6 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* 1/120 (* (pow im 2) (+ 1 (* 1/2 re)))))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/120 (+ 1 (* 1/2 re))))))))))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* (* im im) -1/6) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (+ (sin im) (* re (* (sin im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* (sin im) (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Outputs
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) im) (exp.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) im)
im
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)) (exp.f64 re))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) im (*.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im))
(fma.f64 im #s(literal 1 binary64) (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 im #s(literal 1 binary64)) (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) im) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.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 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.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))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(sin.f64 im)
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
(*.f64 (sin.f64 im) #s(approx (exp re) (-.f64 re #s(literal -1 binary64))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(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) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (sin.f64 im) re) (sin.f64 im))
(fma.f64 (*.f64 (sin.f64 im) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) (sin.f64 im))
(-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re) (neg.f64 (sin.f64 im)))
(-.f64 (sin.f64 im) (*.f64 (neg.f64 re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re)))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im))
(*.f64 (sin.f64 im) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (sin.f64 im) (*.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64)))
(fma.f64 (sin.f64 im) #s(literal 1 binary64) (*.f64 (sin.f64 im) (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 (sin.f64 im) #s(literal 1 binary64)) (*.f64 (sin.f64 im) (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 #s(literal 1 binary64) (sin.f64 im)) (*.f64 (*.f64 (sin.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)
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (-.f64 re #s(literal -1 binary64)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 re (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64) (sin.f64 im)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 re (fma.f64 re (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/6 binary64) (*.f64 (sin.f64 im) #s(literal 1/2 binary64))) (sin.f64 im)) (sin.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) (sin im)) (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64) (sin.f64 im)))
#s(approx (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) (sin.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) (sin im)) re) (sin im)) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (sin.f64 im)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (/.f64 (sin.f64 im) re)) (*.f64 re re)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (+.f64 (/.f64 (sin.f64 im) (*.f64 re re)) (/.f64 (sin.f64 im) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (/.f64 (sin.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 (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (neg.f64 (/.f64 (+.f64 (/.f64 (neg.f64 (sin.f64 im)) re) (neg.f64 (sin.f64 im))) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (sin.f64 im) (/.f64 (neg.f64 (sin.f64 im)) re)) re)))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) (exp.f64 re) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 (exp.f64 re) #s(literal -1/6 binary64))) (*.f64 im im) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/120 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 (exp.f64 re) #s(literal -1/6 binary64))) (*.f64 im im) (exp.f64 re)) im))
#s(approx (sin im) im)
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (+ (* (* im im) -1/6) 1) (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (* im im) (*.f64 im im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.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/6 binary64) #s(literal -1/6 binary64)) (*.f64 im im))) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1/120 binary64)) (*.f64 im im))) #s(literal 1/6 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (+.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1/5040 binary64)) (*.f64 im im))) #s(literal 1/120 binary64)) (*.f64 im im))) #s(literal 1/6 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal -1/6 binary64) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 1/120 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal -1/6 binary64))) (*.f64 im im))) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal -1/5040 binary64) (*.f64 #s(literal 1/120 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal -1/6 binary64))) (*.f64 im im))) im))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (*.f64 (*.f64 im im) im)))
#s(approx (+ (* (* im im) -1/6) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
#s(approx (+ (* (* im im) -1/6) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (*.f64 im im)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 im im))) (*.f64 (*.f64 im im) im))))

eval36.0ms (1.1%)

Memory
-26.6MiB live, 36.6MiB allocated; 39ms collecting garbage
Compiler

Compiled 948 to 513 computations (45.9% saved)

prune6.0ms (0.2%)

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

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New1096115
Fresh000
Picked145
Done000
Total11010120
Accuracy
100.0%
Counts
120 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.3%
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
21.5%
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
67.7%
(*.f64 (exp.f64 re) #s(approx (sin im) im))
39.6%
(*.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) im))
56.4%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
32.1%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
28.9%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
63.0%
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
51.3%
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
55.9%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Compiler

Compiled 190 to 187 computations (1.6% saved)

series14.0ms (0.4%)

Memory
-21.4MiB live, 24.8MiB allocated; 8ms collecting garbage
Counts
28 → 34
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(exp.f64 re)
re
#s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)
(fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64))
im
(*.f64 im #s(literal -1/6 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (sin 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 (sin im) im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 im im)
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
#s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 im im) im)
Outputs
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* im -1/6) #s(hole binary64 (* -1/6 im)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (* (* im im) im) -1/6) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (* im im) im) #s(hole binary64 (pow im 3)))
#s(approx (* (+ (* im (* im -1/6)) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (* (+ (* im (* im -1/6)) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Calls

6 calls:

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

rewrite225.0ms (6.8%)

Memory
22.3MiB live, 245.8MiB allocated; 49ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0161697
0183664
1929632
27879632
08225603
126176603
Stop Event
saturated
node-limit
iter-limit
Counts
62 → 212
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(exp.f64 re)
re
#s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)
(fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64))
im
(*.f64 im #s(literal -1/6 binary64))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (sin 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 (sin im) im))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 im im)
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
#s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 im im) im)
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin 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) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* 1/2 (pow re 2))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (/ 1 re)))))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) #s(hole binary64 (* (pow re 2) (+ 1/2 (+ (/ 1 re) (/ 1 (pow re 2)))))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* 1/2 re)))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (* re (+ 1/2 (/ 1 re)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (sin im) #s(hole binary64 im))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* im -1/6) #s(hole binary64 (* -1/6 im)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (* (* (* im im) im) -1/6) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (* im im) im) #s(hole binary64 (pow im 3)))
#s(approx (* (+ (* im (* im -1/6)) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* im (* im -1/6)) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (* (+ (* im (* im -1/6)) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Outputs
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (exp.f64 re))
(fma.f64 (cosh.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (*.f64 (sinh.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))))
(fma.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (cosh.f64 re) (*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (sinh.f64 re)))
(+.f64 (*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (cosh.f64 re)) (*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))) (*.f64 (sinh.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))))
(-.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
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (*.f64 #s(literal -1/6 binary64) im)) im)
(fma.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) im)
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im im)
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im) im)
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) im) im)
(fma.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im)
(-.f64 im (*.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(-.f64 im (*.f64 (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) im))
(-.f64 im (neg.f64 (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)) im)
(+.f64 im (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
im
(*.f64 #s(literal -1/6 binary64) im)
(*.f64 im #s(literal -1/6 binary64))
(neg.f64 (*.f64 #s(literal 1/6 binary64) im))
(neg.f64 (*.f64 im #s(literal 1/6 binary64)))
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(approx (sin im) im) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (sin 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 (sin im) im))
(*.f64 #s(approx (sin im) im) #s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
(neg.f64 (-.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))) re #s(literal 1 binary64))
(fma.f64 (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) (*.f64 re re) #s(literal 1 binary64))
(fma.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(fma.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal 1 binary64)) #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 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1 binary64))
(+.f64 (-.f64 re #s(literal -1 binary64)) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(+.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (neg.f64 re)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (neg.f64 re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(+.f64 re (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(+.f64 re (-.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) #s(literal -1 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)))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) re)))
(neg.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) re) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(fma.f64 re #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1 binary64) re)))
(-.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) 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 (*.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))
#s(literal 1/2 binary64)
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (*.f64 #s(literal -1/6 binary64) im)) im)
(fma.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) im)
(fma.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im) im)
(fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im im)
(fma.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im) im)
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) im) im)
(fma.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im)
(-.f64 im (*.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(-.f64 im (*.f64 (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) im))
(-.f64 im (neg.f64 (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)) im)
(+.f64 im (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(neg.f64 (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(neg.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) im)) im #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 im)) (fabs.f64 im) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 im)) (neg.f64 im) #s(literal 1 binary64))
(fma.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (neg.f64 im) (*.f64 (neg.f64 im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 (*.f64 #s(literal -1/6 binary64) im) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.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 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.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))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im)))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(*.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (exp.f64 re))
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(fma.f64 (cosh.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (*.f64 (sinh.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))))
(fma.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (cosh.f64 re) (*.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (sinh.f64 re)))
(+.f64 (*.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (cosh.f64 re)) (*.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))) (sinh.f64 re)))
(+.f64 (*.f64 (cosh.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))) (*.f64 (sinh.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))))
#s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) (*.f64 #s(literal -1/6 binary64) im)))
(*.f64 (neg.f64 im) (*.f64 (*.f64 im im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 #s(literal -1/6 binary64) im) (*.f64 im im))
(*.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im)
(*.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) im))
(*.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(neg.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 im im) im)))
(neg.f64 (*.f64 (*.f64 (*.f64 im im) im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 im (fabs.f64 im)) (fabs.f64 im))
(*.f64 (*.f64 (neg.f64 im) im) (neg.f64 im))
(*.f64 (fabs.f64 im) (*.f64 (fabs.f64 im) im))
(*.f64 (neg.f64 im) (*.f64 (neg.f64 im) im))
(*.f64 (*.f64 im im) im)
(*.f64 im (*.f64 im im))
(pow.f64 im #s(literal 3 binary64))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (-.f64 re #s(literal -1 binary64)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 (sin.f64 im) (-.f64 re #s(literal -1 binary64)) (*.f64 (*.f64 (*.f64 (sin.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 (+ (* 1/2 re) 1) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
#s(approx (* (exp re) (sin im)) (*.f64 (exp.f64 re) (sin.f64 im)))
#s(approx (exp re) (exp.f64 re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal -1 binary64) re)) #s(literal -1/2 binary64)) 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) (sin im)) (*.f64 (exp.f64 re) im))
#s(approx (* (exp re) (sin im)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (*.f64 im im) (*.f64 (exp.f64 re) (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64))) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) (exp.f64 re) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64))) im) im) im) im)) im))
#s(approx (sin im) im)
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) im) im #s(literal 1 binary64)) im))
#s(approx (+ (* im (* im -1/6)) 1) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)))
#s(approx (* im -1/6) (*.f64 #s(literal -1/6 binary64) im))
#s(approx (* im im) (*.f64 im im))
#s(approx (* (* (* im im) im) -1/6) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
#s(approx (* (* im im) im) (*.f64 (*.f64 im im) im))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) im) (*.f64 im im)))
#s(approx (+ (* im (* im -1/6)) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
#s(approx (+ (* im (* im -1/6)) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) im) im))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) im) (*.f64 im im)))

eval21.0ms (0.6%)

Memory
1.1MiB live, 45.8MiB allocated; 7ms collecting garbage
Compiler

Compiled 1 292 to 730 computations (43.5% saved)

prune9.0ms (0.3%)

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

13 alts after pruning (7 fresh and 6 done)

PrunedKeptTotal
New1696175
Fresh011
Picked325
Done044
Total17213185
Accuracy
100.0%
Counts
185 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.7%
(*.f64 (exp.f64 re) #s(approx (sin im) im))
32.1%
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
39.6%
(*.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) im))
56.4%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
32.9%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
15.7%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
14.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
14.8%
(*.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) im))
33.2%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
28.9%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
63.0%
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
51.3%
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
55.9%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Compiler

Compiled 283 to 278 computations (1.8% saved)

series26.0ms (0.8%)

Memory
-20.9MiB live, 31.3MiB allocated; 16ms collecting garbage
Counts
36 → 59
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
(fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
im
(sin.f64 im)
(*.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) im))
#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(approx (sin im) im)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(approx (exp re) #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
#s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 im im) im)
(*.f64 im im)
Outputs
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (+ (sin im) (* 1/2 (* re (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 im))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (+ im (* 1/2 (* im re)))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx re #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 (* (* 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) re) #s(hole binary64 (* re (+ 1 (* 1/2 re)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* 1/2 (* (pow re 2) (sin im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (+ (/ (sin im) re) (/ (sin im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* 1/2 (* re (sin im)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* re (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* 1/2 (* im re))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* re (+ (* 1/2 im) (/ 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 (+ (* (+ (* 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 (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (sin im)) (* -1 (/ (sin im) re))) re)) (* 1/2 (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (sin im) re)) (* -1/2 (sin im)))))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* -1 (* re (+ (* -1 (/ im re)) (* -1/2 im))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (* re (+ 1 (* 1/2 re)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/6 (* re (+ 1 (* 1/2 re)))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (* 1/120 (* re (+ 1 (* 1/2 re))))))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (+ (* 1/120 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/5040 (* re (+ 1 (* 1/2 re)))) 1/5040)))))) 1/6)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* -1/6 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* 1/120 (* (pow im 2) (+ 1 (* 1/2 re)))))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/120 (+ 1 (* 1/2 re))))))))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* -1/6 im) #s(hole binary64 (* -1/6 im)))
#s(approx (* (* (* im im) im) -1/6) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (* im im) im) #s(hole binary64 (pow im 3)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (+ (sin im) (* re (* (sin im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* (sin im) (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* (* -1/6 im) im) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (* (+ (* (* -1/6 im) im) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Calls

6 calls:

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

rewrite298.0ms (9%)

Memory
11.0MiB live, 232.3MiB allocated; 49ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02911475
03181412
118621410
083771346
1279591346
Stop Event
saturated
node-limit
iter-limit
Counts
95 → 176
Calls
Call 1
Inputs
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
(fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)
(fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
im
(sin.f64 im)
(*.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) im))
#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(approx (sin im) im)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) im)
#s(literal -1/6 binary64)
#s(approx (exp re) #s(literal 1 binary64))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(-.f64 re #s(literal -1 binary64))
#s(literal -1 binary64)
#s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 im im) im)
(*.f64 im im)
#s(approx (* (exp re) (sin im)) #s(hole binary64 (sin im)))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (sin im)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* 1/2 (* re (sin im))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (+ (sin im) (* re (+ (sin im) (* re (+ (* 1/6 (* re (sin im))) (* 1/2 (sin im)))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (+ (sin im) (* 1/2 (* re (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 im))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (+ im (* 1/2 (* im re)))))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 1))
#s(approx (+ (* 1/2 re) 1) #s(hole binary64 (+ 1 (* 1/2 re))))
#s(approx re #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 (* (* 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) re) #s(hole binary64 (* re (+ 1 (* 1/2 re)))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* (exp re) (sin im))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* 1/2 (* (pow re 2) (sin im)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* 1/2 (sin im)) (+ (/ (sin im) re) (/ (sin im) (pow re 2)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* 1/2 (* re (sin im)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* re (+ (* 1/2 (sin im)) (/ (sin im) re)))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* 1/2 (* im re))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* re (+ (* 1/2 im) (/ 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 (+ (* (+ (* 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 (- re -1) #s(hole binary64 (* re (+ 1 (/ 1 re)))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ (* -1 (sin im)) (* -1 (/ (sin im) re))) re)) (* 1/2 (sin im))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* -1 (* re (+ (* -1 (/ (sin im) re)) (* -1/2 (sin im)))))))
#s(approx (* (+ (* 1/2 re) 1) im) #s(hole binary64 (* -1 (* re (+ (* -1 (/ im re)) (* -1/2 im))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (exp re))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* -1/6 (* (pow im 2) (exp re)))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* 1/120 (* (pow im 2) (exp re)))))))))
#s(approx (* (exp re) (sin im)) #s(hole binary64 (* im (+ (exp re) (* (pow im 2) (+ (* -1/6 (exp re)) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (exp re))) (* 1/120 (exp re))))))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (* re (+ 1 (* 1/2 re)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (* -1/6 (* re (+ 1 (* 1/2 re)))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (* 1/120 (* re (+ 1 (* 1/2 re))))))) 1/6)))))))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* re (+ 1 (* 1/2 re))) (* (pow im 2) (- (+ (* -1/6 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (+ 1/120 (+ (* 1/120 (* re (+ 1 (* 1/2 re)))) (* (pow im 2) (- (* -1/5040 (* re (+ 1 (* 1/2 re)))) 1/5040)))))) 1/6)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* -1/6 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/2 re))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* 1/120 (* (pow im 2) (+ 1 (* 1/2 re)))))))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* im (+ 1 (+ (* 1/2 re) (* (pow im 2) (+ (* -1/6 (+ 1 (* 1/2 re))) (* (pow im 2) (+ (* -1/5040 (* (pow im 2) (+ 1 (* 1/2 re)))) (* 1/120 (+ 1 (* 1/2 re))))))))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* -1/6 (pow im 2))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* 1/120 (pow im 2)) 1/6))))))
#s(approx (sin im) #s(hole binary64 (* im (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/120 (* -1/5040 (pow im 2)))) 1/6))))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (+ 1 (* -1/6 (pow im 2)))))
#s(approx (* -1/6 im) #s(hole binary64 (* -1/6 im)))
#s(approx (* (* (* im im) im) -1/6) #s(hole binary64 (* -1/6 (pow im 3))))
#s(approx (* (* im im) im) #s(hole binary64 (pow im 3)))
#s(approx (* im im) #s(hole binary64 (pow im 2)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) #s(hole binary64 (+ (sin im) (* re (* (sin im) (+ 1 (* 1/2 re)))))))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) #s(hole binary64 (* (sin im) (+ 1 (* 1/2 re)))))
#s(approx (* (+ (* (* -1/6 im) im) 1) im) #s(hole binary64 (* (pow im 3) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (* -1/6 (pow im 2))))
#s(approx (+ (* (* -1/6 im) im) 1) #s(hole binary64 (* (pow im 2) (- (/ 1 (pow im 2)) 1/6))))
#s(approx (* (+ (* (* -1/6 im) im) 1) im) #s(hole binary64 (* -1 (* (pow im 3) (- 1/6 (/ 1 (pow im 2)))))))
Outputs
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
(fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im))
(fma.f64 re #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) (sin.f64 im))
(-.f64 (*.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re) (neg.f64 (sin.f64 im)))
(+.f64 (*.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) im (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(fma.f64 im #s(literal 1 binary64) (*.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 im #s(literal 1 binary64)) (*.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(+.f64 (*.f64 #s(literal 1 binary64) im) (*.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(*.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 #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) #s(literal -1 binary64))
(+.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))
#s(literal 1/2 binary64)
re
#s(literal 1 binary64)
im
(sin.f64 im)
(*.f64 #s(approx (sin im) im) #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) im))
#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(approx (sin im) im)
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) im) #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))))
#s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)))
#s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)
(*.f64 re (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) re (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(fma.f64 re #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) re) (*.f64 (*.f64 #s(literal 1/2 binary64) re) re))
(+.f64 (*.f64 re #s(literal 1 binary64)) (*.f64 (*.f64 re re) #s(literal 1/2 binary64)))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
(*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)
(*.f64 im (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) im (*.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im))
(fma.f64 im #s(literal 1 binary64) (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 im #s(literal 1 binary64)) (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 #s(literal 1 binary64) im) (*.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) im))
(fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64))
(fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 im im) #s(literal 1 binary64))
(fma.f64 im (*.f64 #s(literal -1/6 binary64) im) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 im im)))
(-.f64 #s(literal 1 binary64) (neg.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64))))
(+.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) im)
(*.f64 im #s(literal -1/6 binary64))
#s(literal -1/6 binary64)
#s(approx (exp re) #s(literal 1 binary64))
(*.f64 #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 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) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
#s(approx (exp re) (-.f64 re #s(literal -1 binary64)))
(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) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64))
(*.f64 (*.f64 im im) (*.f64 #s(literal -1/6 binary64) im))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 im im) im))
(*.f64 (*.f64 im im) im)
(*.f64 im (*.f64 im im))
(pow.f64 im #s(literal 3 binary64))
(*.f64 (fabs.f64 (fabs.f64 im)) (fabs.f64 (fabs.f64 im)))
(*.f64 (neg.f64 (fabs.f64 im)) (neg.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 (fabs.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.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))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (*.f64 (-.f64 re #s(literal -1 binary64)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 re (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64) (sin.f64 im)) (sin.f64 im)))
#s(approx (* (exp re) (sin im)) (fma.f64 re (fma.f64 re (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/6 binary64) (*.f64 (sin.f64 im) #s(literal 1/2 binary64))) (sin.f64 im)) (sin.f64 im)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (fma.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64) (sin.f64 im)))
#s(approx (* (+ (* 1/2 re) 1) im) im)
#s(approx (* (+ (* 1/2 re) 1) im) (fma.f64 (*.f64 im re) #s(literal 1/2 binary64) 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 (* (* 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) re) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))
#s(approx (* (exp re) (sin im)) (*.f64 (sin.f64 im) (exp.f64 re)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (sin.f64 im)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (/.f64 (sin.f64 im) re)) (*.f64 re re)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (+.f64 (/.f64 (sin.f64 im) (*.f64 re re)) (/.f64 (sin.f64 im) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (*.f64 (sin.f64 im) re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (/.f64 (sin.f64 im) re)) re))
#s(approx (* (+ (* 1/2 re) 1) im) (*.f64 (*.f64 im re) #s(literal 1/2 binary64)))
#s(approx (* (+ (* 1/2 re) 1) im) (*.f64 (fma.f64 #s(literal 1/2 binary64) im (/.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 (+ (* (+ (* 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 (- re -1) (fma.f64 #s(literal 1 binary64) re #s(literal 1 binary64)))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (sin.f64 im) (neg.f64 (/.f64 (+.f64 (/.f64 (neg.f64 (sin.f64 im)) re) (neg.f64 (sin.f64 im))) re))) (*.f64 re re)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (sin.f64 im) (/.f64 (neg.f64 (sin.f64 im)) re)) re)))
#s(approx (* (+ (* 1/2 re) 1) im) (neg.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) im (neg.f64 (/.f64 im re))) re)))
#s(approx (* (exp re) (sin im)) (*.f64 im (exp.f64 re)))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) (exp.f64 re) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal -1/6 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)) im))
#s(approx (* (exp re) (sin im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/120 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/6 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.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/6 binary64) #s(literal -1/6 binary64)) (*.f64 im im))) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal 1/120 binary64)) (*.f64 im im))) #s(literal 1/6 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)) im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (*.f64 (+.f64 (fma.f64 (-.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (+.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) re) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re) #s(literal -1/5040 binary64)) (*.f64 im im))) #s(literal 1/120 binary64)) (*.f64 im im))) #s(literal 1/6 binary64)) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re)) #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/6 binary64)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) re)) #s(literal 1 binary64)) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 #s(literal 1/120 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/6 binary64))) (*.f64 im im))) im))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (+.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 im im)) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 #s(literal 1/120 binary64) (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)))) (*.f64 im im) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) #s(literal -1/6 binary64))) (*.f64 im im))) im))
#s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (sin im) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 im im) #s(literal 1/120 binary64)) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))
#s(approx (+ (* (* -1/6 im) im) 1) (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)))
#s(approx (* -1/6 im) (*.f64 #s(literal -1/6 binary64) im))
#s(approx (* (* (* im im) im) -1/6) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))
#s(approx (* (* im im) im) (*.f64 (*.f64 im im) im))
#s(approx (* im im) (*.f64 im im))
#s(approx (+ (* (* (+ (* 1/2 re) 1) (sin im)) re) (sin im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (*.f64 (sin.f64 im) re) (sin.f64 im)))
#s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (*.f64 (*.f64 im im) im)))
#s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64)))
#s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1/6 binary64)) (*.f64 im im)))
#s(approx (* (+ (* (* im im) -1/6) 1) im) (neg.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 im im))) (*.f64 (*.f64 im im) im))))

eval20.0ms (0.6%)

Memory
-0.2MiB live, 43.5MiB allocated; 8ms collecting garbage
Compiler

Compiled 1 348 to 795 computations (41% saved)

prune12.0ms (0.4%)

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

19 alts after pruning (9 fresh and 10 done)

PrunedKeptTotal
New1447151
Fresh022
Picked145
Done066
Total14519164
Accuracy
100.0%
Counts
164 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.7%
(*.f64 (exp.f64 re) #s(approx (sin im) im))
32.1%
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
15.0%
(*.f64 #s(approx (sin im) (*.f64 #s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im)) #s(approx (exp re) #s(literal 1 binary64)))
39.6%
(*.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) im))
56.4%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
32.9%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
15.7%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
15.7%
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
14.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
14.7%
(*.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 (sin im) im))
14.8%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) re) re))) #s(approx (sin im) im))
14.8%
(*.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) im))
17.6%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/2 binary64)))) #s(approx (sin im) im))
8.2%
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 #s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64)) re))) #s(approx (sin im) im))
33.2%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
28.9%
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
63.0%
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
37.4%
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re #s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))))
55.9%
#s(approx (* (exp re) (sin im)) (sin.f64 im))
Compiler

Compiled 468 to 409 computations (12.6% saved)

regimes169.0ms (5.1%)

Memory
-39.7MiB live, 86.7MiB allocated; 215ms collecting garbage
Counts
25 → 1
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 #s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.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) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) (*.f64 #s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im)) #s(approx (exp 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) im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) re) re))) #s(approx (sin im) im))
(*.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 (sin im) im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/2 binary64)))) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re #s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
(*.f64 (exp.f64 re) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) (sin.f64 im)) re (sin.f64 im)))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Calls

5 calls:

140.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
10.0ms
im
6.0ms
re
6.0ms
(sin.f64 im)
5.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
100.0%1(sin.f64 im)
100.0%1(exp.f64 re)
100.0%1(*.f64 (exp.f64 re) (sin.f64 im))
100.0%1re
100.0%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes37.0ms (1.1%)

Memory
-24.0MiB live, 71.1MiB allocated; 12ms collecting garbage
Counts
23 → 5
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 #s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.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) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) (*.f64 #s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im)) #s(approx (exp 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) im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) re) re))) #s(approx (sin im) im))
(*.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 (sin im) im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/2 binary64)))) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re #s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))))
#s(approx (* (exp re) (sin im)) (sin.f64 im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re (sin.f64 im)))
Outputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) (sin.f64 im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
Calls

5 calls:

9.0ms
(sin.f64 im)
6.0ms
re
6.0ms
im
5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
79.8%4(sin.f64 im)
94.9%3(exp.f64 re)
100.0%5(*.f64 (exp.f64 re) (sin.f64 im))
94.9%3re
77.1%2im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.2%)

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

1 calls:

5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
99.8%5(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes34.0ms (1%)

Memory
-17.9MiB live, 77.9MiB allocated; 14ms collecting garbage
Counts
20 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 #s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.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) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) (*.f64 #s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im)) #s(approx (exp 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) im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) re) re))) #s(approx (sin im) im))
(*.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 (sin im) im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/2 binary64)))) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (sqrt.f64 (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (pow.f64 im #s(literal 3 binary64)) #s(literal -1/6 binary64)))))
#s(approx (* (exp re) (sin im)) (fma.f64 #s(approx (* (+ (* 1/2 re) 1) (sin im)) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) im)) re #s(approx (sin im) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 im im) #s(literal -1/6 binary64)) (*.f64 im im) #s(literal 1 binary64)) im))))
Outputs
(*.f64 (exp.f64 re) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
Calls

5 calls:

11.0ms
(sin.f64 im)
8.0ms
re
5.0ms
im
5.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
4.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
70.1%2(sin.f64 im)
67.7%1im
67.7%1(exp.f64 re)
67.7%1re
73.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes5.0ms (0.1%)

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

1 calls:

4.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
73.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes5.0ms (0.1%)

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

1 calls:

4.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
73.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes7.0ms (0.2%)

Memory
-32.2MiB live, 14.7MiB allocated; 3ms collecting garbage
Counts
14 → 2
Calls
Call 1
Inputs
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 #s(approx (+ (* 1/2 re) 1) #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.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) im))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re))) #s(approx (sin im) im))
(*.f64 #s(approx (sin im) (*.f64 #s(approx (+ (* (* -1/6 im) im) 1) (*.f64 (*.f64 im im) #s(literal -1/6 binary64))) im)) #s(approx (exp 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) im))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
(*.f64 #s(approx (exp re) #s(literal 1 binary64)) #s(approx (sin im) (*.f64 (fma.f64 (*.f64 im im) #s(literal -1/6 binary64) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (sin im) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) im) im #s(literal 1 binary64)) im)) #s(approx (exp re) #s(literal 1 binary64)))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) #s(approx (* (+ (* (* im im) -1/6) 1) im) (*.f64 (*.f64 (*.f64 im im) im) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (*.f64 (+.f64 (/.f64 #s(literal 1 binary64) re) #s(literal 1/2 binary64)) re) re))) #s(approx (sin im) im))
(*.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 (sin im) im))
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 #s(approx (exp re) #s(approx (+ (* (+ (* 1/2 re) 1) re) 1) (*.f64 (sqrt.f64 (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/2 binary64)))) #s(approx (sin im) im))
Outputs
(*.f64 #s(approx (exp re) (-.f64 re #s(literal -1 binary64))) #s(approx (sin im) (*.f64 (fma.f64 im (*.f64 im #s(literal -1/6 binary64)) #s(literal 1 binary64)) im)))
(*.f64 (exp.f64 re) #s(approx (sin im) im))
Calls

1 calls:

6.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
72.9%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes4.0ms (0.1%)

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

1 calls:

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

Compiled 5 to 5 computations (0% saved)

regimes3.0ms (0.1%)

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

1 calls:

3.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
72.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes3.0ms (0.1%)

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

1 calls:

2.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
72.2%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes83.0ms (2.5%)

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

5 calls:

75.0ms
im
2.0ms
(sin.f64 im)
2.0ms
re
2.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
2.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
48.0%2(exp.f64 re)
39.6%1im
48.0%2re
44.8%2(sin.f64 im)
52.4%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes2.0ms (0.1%)

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

1 calls:

2.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
Results
AccuracySegmentsBranch
52.3%3(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

regimes8.0ms (0.3%)

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

5 calls:

2.0ms
im
2.0ms
(sin.f64 im)
2.0ms
re
1.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
34.9%2im
34.7%2(sin.f64 im)
39.8%2(exp.f64 re)
39.8%2re
39.9%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes8.0ms (0.2%)

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

5 calls:

3.0ms
re
1.0ms
(sin.f64 im)
1.0ms
im
1.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
32.8%2(sin.f64 im)
33.2%2im
33.1%2(exp.f64 re)
33.1%2re
33.1%2(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes5.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

1.0ms
(sin.f64 im)
1.0ms
im
1.0ms
re
1.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
28.9%1(sin.f64 im)
28.9%1(exp.f64 re)
28.9%1re
28.9%1(*.f64 (exp.f64 re) (sin.f64 im))
28.9%1im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9986628892276475
+inf
0.0ms
3.305125939380562e-156
3.9039520601180736e-145
0.0ms
-0.0340922298133945
-0.0
0.0ms
-inf
-0.9998472816921653
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9986628892276475
+inf
0.0ms
4.9274735731660786e-18
1.3361949958986966e-8
0.0ms
-0.0340922298133945
-0.0
0.0ms
-inf
-0.9998472816921653
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

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

Compiled 8 to 10 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.3929363911806374e-293
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.9799319535725739
0.9828992128275403
0.0ms
-0.0
3.3929363911806374e-293
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.9799319535725739
0.9828992128275403
Compiler

Compiled 8 to 10 computations (-25% saved)

bsearch15.0ms (0.5%)

Memory
-23.4MiB live, 27.7MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
7414348645100.692
81151728193364.14
Samples
11.0ms96×0valid
Compiler

Compiled 170 to 172 computations (-1.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-sin: 7.0ms (81.1% of total)
ival-exp: 1.0ms (11.6% of total)
ival-mult!: 1.0ms (11.6% of total)
adjust: 0.0ms (0% of total)

derivations528.0ms (15.9%)

Memory
-4.9MiB live, 522.5MiB allocated; 48ms collecting garbage
Stop Event
fuel
Compiler

Compiled 164 to 110 computations (32.9% saved)

preprocess202.0ms (6.1%)

Memory
26.0MiB live, 547.2MiB allocated; 67ms collecting garbage
Remove

(negabs im)

Compiler

Compiled 939 to 829 computations (11.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...