math.exp on complex, real part

Time bar (total: 1.8s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

sample908.0ms (51.1%)

Memory
-3.6MiB live, 1 143.4MiB allocated; 251ms collecting garbage
Samples
686.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 405.0ms
ival-cos: 260.0ms (64.2% of total)
ival-exp: 81.0ms (20% of total)
ival-mult!: 63.0ms (15.6% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain71.0ms (4%)

Memory
23.6MiB live, 116.1MiB allocated; 7ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (exp.f64 re) (cos.f64 im))
00-0-(cos.f64 im)
00-0-re
00-0-(exp.f64 re)
00-0-im
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
31.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-cos: 12.0ms (65% of total)
ival-exp: 4.0ms (21.7% of total)
ival-mult!: 2.0ms (10.8% of total)
adjust: 0.0ms (0% of total)

preprocess29.0ms (1.6%)

Memory
-48.7MiB live, 51.4MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

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

(abs im)

Compiler

Compiled 10 to 10 computations (0% saved)

series7.0ms (0.4%)

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

6 calls:

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

rewrite143.0ms (8%)

Memory
11.2MiB live, 151.6MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

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

eval4.0ms (0.2%)

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

Compiled 456 to 133 computations (70.8% saved)

prune2.0ms (0.1%)

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

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New33336
Fresh000
Picked011
Done000
Total33437
Accuracy
100.0%
Counts
37 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
73.8%
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
73.9%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
51.3%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
Compiler

Compiled 31 to 26 computations (16.1% saved)

series22.0ms (1.3%)

Memory
-22.7MiB live, 27.5MiB allocated; 4ms collecting garbage
Counts
10 → 49
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
im
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(exp.f64 re)
re
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
(cosh.f64 re)
(*.f64 (sinh.f64 re) (cos.f64 im))
(sinh.f64 re)
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (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 (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (cos im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (cosh re) #s(hole binary64 1))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* 1/2 (pow re 2)))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* 1/24 (pow re 2)))))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* (pow re 2) (+ 1/24 (* 1/720 (pow re 2)))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* 1/6 (* (pow re 2) (cos im)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/120 (* (pow re 2) (cos im))) (* 1/6 (cos im))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/6 (cos im)) (* (pow re 2) (+ (* 1/5040 (* (pow re 2) (cos im))) (* 1/120 (cos im))))))))))
#s(approx (sinh re) #s(hole binary64 re))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* 1/6 (pow re 2))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* 1/120 (pow re 2))))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* (pow re 2) (+ 1/120 (* 1/5040 (pow re 2))))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (* (cos im) (+ (exp re) (/ 1 (exp re))))) (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re))))))))
#s(approx (cosh re) #s(hole binary64 (* 1/2 (+ (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re)))))))
#s(approx (sinh re) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (* -1/4 (- (exp re) (/ 1 (exp re))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/48 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (+ (exp re) (/ 1 (exp re)))) (* -1/1440 (- (exp re) (/ 1 (exp re))))))))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* -1/4 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* 1/48 (* (pow im 2) (- (exp re) (/ 1 (exp re))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
Calls

6 calls:

TimeVariablePointExpression
6.0ms
im
@inf
((* (exp re) (cos im)) (cos im) im (* (exp re) (cos im)) (exp re) re (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cosh re) (* (sinh re) (cos im)) (sinh re))
6.0ms
im
@0
((* (exp re) (cos im)) (cos im) im (* (exp re) (cos im)) (exp re) re (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cosh re) (* (sinh re) (cos im)) (sinh re))
4.0ms
re
@-inf
((* (exp re) (cos im)) (cos im) im (* (exp re) (cos im)) (exp re) re (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cosh re) (* (sinh re) (cos im)) (sinh re))
3.0ms
re
@inf
((* (exp re) (cos im)) (cos im) im (* (exp re) (cos im)) (exp re) re (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cosh re) (* (sinh re) (cos im)) (sinh re))
2.0ms
re
@0
((* (exp re) (cos im)) (cos im) im (* (exp re) (cos im)) (exp re) re (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cosh re) (* (sinh re) (cos im)) (sinh re))

rewrite176.0ms (9.9%)

Memory
70.1MiB live, 314.7MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02301090
0235981
11501911
08185845
Stop Event
iter-limit
node-limit
iter-limit
Counts
59 → 98
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) (cos.f64 im))
(cos.f64 im)
im
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(exp.f64 re)
re
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
(cosh.f64 re)
(*.f64 (sinh.f64 re) (cos.f64 im))
(sinh.f64 re)
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (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 (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (cos im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (cosh re) #s(hole binary64 1))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* 1/2 (pow re 2)))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* 1/24 (pow re 2)))))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* (pow re 2) (+ 1/24 (* 1/720 (pow re 2)))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* 1/6 (* (pow re 2) (cos im)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/120 (* (pow re 2) (cos im))) (* 1/6 (cos im))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/6 (cos im)) (* (pow re 2) (+ (* 1/5040 (* (pow re 2) (cos im))) (* 1/120 (cos im))))))))))
#s(approx (sinh re) #s(hole binary64 re))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* 1/6 (pow re 2))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* 1/120 (pow re 2))))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* (pow re 2) (+ 1/120 (* 1/5040 (pow re 2))))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (* (cos im) (+ (exp re) (/ 1 (exp re))))) (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re))))))))
#s(approx (cosh re) #s(hole binary64 (* 1/2 (+ (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re)))))))
#s(approx (sinh re) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (* -1/4 (- (exp re) (/ 1 (exp re))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/48 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (+ (exp re) (/ 1 (exp re)))) (* -1/1440 (- (exp re) (/ 1 (exp re))))))))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* -1/4 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* 1/48 (* (pow im 2) (- (exp re) (/ 1 (exp re))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
Outputs
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cos.f64 im))
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
im
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (exp.f64 re))
(/.f64 (-.f64 (*.f64 (cosh.f64 re) (cosh.f64 re)) (*.f64 (sinh.f64 re) (sinh.f64 re))) (exp.f64 (neg.f64 re)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 re) #s(literal 3 binary64)) (pow.f64 (sinh.f64 re) #s(literal 3 binary64))) (fma.f64 (cosh.f64 re) (cosh.f64 re) (-.f64 (*.f64 (sinh.f64 re) (sinh.f64 re)) (*.f64 (cosh.f64 re) (sinh.f64 re)))))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) #s(literal 2 binary64))
(exp.f64 re)
(+.f64 (cosh.f64 re) (sinh.f64 re))
re
(*.f64 (cos.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(/.f64 (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (neg.f64 re)) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (fma.f64 (*.f64 (sinh.f64 (neg.f64 re)) (cos.f64 im)) (*.f64 (sinh.f64 (neg.f64 re)) (cos.f64 im)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 (neg.f64 re)) (cos.f64 im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64))) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im))))))
(fma.f64 (sinh.f64 re) (cos.f64 im) (*.f64 (cosh.f64 re) (cos.f64 im)))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (sinh.f64 re) (*.f64 (cosh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (cosh.f64 re) (*.f64 (sinh.f64 re) (cos.f64 im)))
(-.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))) (/.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))))
(-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 (neg.f64 re)) (cos.f64 im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))))) (/.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))))))
(+.f64 (*.f64 (sinh.f64 re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im)))
(+.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (sinh.f64 re) (cos.f64 im)))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 (neg.f64 (neg.f64 re)))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 re)))
(cosh.f64 (neg.f64 re))
(cosh.f64 re)
(+.f64 (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)) (/.f64 (exp.f64 re) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 re) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
(*.f64 (sinh.f64 re) (cos.f64 im))
(*.f64 (cos.f64 im) (sinh.f64 re))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 2 binary64))
(sinh.f64 re)
(-.f64 (/.f64 (exp.f64 re) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cos.f64 im))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (cos.f64 im) re (cos.f64 im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 im) re) (cos.f64 im)) re (cos.f64 im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) re (cos.f64 im)) re (cos.f64 im)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx re re)
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (cos.f64 im))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (cos.f64 im) re (cos.f64 im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 im) re) (cos.f64 im)) re (cos.f64 im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) re (cos.f64 im)) re (cos.f64 im)))
#s(approx (cosh re) #s(literal 1 binary64))
#s(approx (cosh re) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (cosh re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))
#s(approx (cosh re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))
#s(approx (* (sinh re) (cos im)) (*.f64 (cos.f64 im) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (cos.f64 im) (cos.f64 im)) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) (cos.f64 im) (*.f64 #s(literal 1/6 binary64) (cos.f64 im))) (*.f64 re re) (cos.f64 im)) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) (cos.f64 im) (*.f64 #s(literal 1/120 binary64) (cos.f64 im))) (*.f64 re re) (*.f64 #s(literal 1/6 binary64) (cos.f64 im))) (*.f64 re re) (cos.f64 im)) re))
#s(approx (sinh re) re)
#s(approx (sinh re) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal 1 binary64)) re))
#s(approx (sinh re) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) re))
#s(approx (sinh re) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) re))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (exp re) (exp.f64 re))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (*.f64 #s(literal 1/2 binary64) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) (cos.f64 im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (cos.f64 im)))))
#s(approx (cosh re) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sinh re) (cos im)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re))))
#s(approx (sinh re) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (exp.f64 re))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re) (exp.f64 re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/24 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx im im)
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (*.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal 1/48 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))) (*.f64 im im))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal 1/48 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal -1/1440 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))) (*.f64 im im))) (*.f64 im im))))
#s(approx (* (sinh re) (cos im)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sinh re) (cos im)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (* (sinh re) (cos im)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 #s(literal -1/4 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (* (sinh re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 #s(literal 1/48 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (cos im) (cos.f64 im))

eval20.0ms (1.2%)

Memory
6.3MiB live, 50.2MiB allocated; 11ms collecting garbage
Compiler

Compiled 2 249 to 380 computations (83.1% saved)

prune25.0ms (1.4%)

Memory
-53.5MiB live, 14.9MiB allocated; 31ms collecting garbage
Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1072109
Fresh000
Picked123
Done011
Total1085113
Accuracy
100.0%
Counts
113 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
73.9%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
51.3%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.2%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Compiler

Compiled 43 to 35 computations (18.6% saved)

series8.0ms (0.5%)

Memory
30.2MiB live, 30.2MiB allocated; 0ms collecting garbage
Counts
10 → 49
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(cosh.f64 re)
re
(cos.f64 im)
im
(*.f64 #s(approx (sinh re) re) (cos.f64 im))
#s(approx (sinh re) re)
Outputs
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (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 (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (cos im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (cosh re) #s(hole binary64 1))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* 1/2 (pow re 2)))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* 1/24 (pow re 2)))))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* (pow re 2) (+ 1/24 (* 1/720 (pow re 2)))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* 1/6 (* (pow re 2) (cos im)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/120 (* (pow re 2) (cos im))) (* 1/6 (cos im))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/6 (cos im)) (* (pow re 2) (+ (* 1/5040 (* (pow re 2) (cos im))) (* 1/120 (cos im))))))))))
#s(approx (sinh re) #s(hole binary64 re))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* 1/6 (pow re 2))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* 1/120 (pow re 2))))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* (pow re 2) (+ 1/120 (* 1/5040 (pow re 2))))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (* (cos im) (+ (exp re) (/ 1 (exp re))))) (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re))))))))
#s(approx (cosh re) #s(hole binary64 (* 1/2 (+ (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re)))))))
#s(approx (sinh re) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (* -1/4 (- (exp re) (/ 1 (exp re))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/48 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (+ (exp re) (/ 1 (exp re)))) (* -1/1440 (- (exp re) (/ 1 (exp re))))))))))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* -1/4 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* 1/48 (* (pow im 2) (- (exp re) (/ 1 (exp re))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
Calls

6 calls:

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

rewrite179.0ms (10%)

Memory
-18.7MiB live, 258.5MiB allocated; 50ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02271102
0232987
11516917
08287851
Stop Event
iter-limit
node-limit
iter-limit
Counts
59 → 89
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(literal 1 binary64)
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(cosh.f64 re)
re
(cos.f64 im)
im
(*.f64 #s(approx (sinh re) re) (cos.f64 im))
#s(approx (sinh re) re)
#s(approx (* (exp re) (cos im)) #s(hole binary64 (cos im)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (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 (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (cos im)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (cos im)))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* 1/2 (* re (cos im))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (cos im) (* re (+ (cos im) (* re (+ (* 1/6 (* re (cos im))) (* 1/2 (cos im)))))))))
#s(approx (cosh re) #s(hole binary64 1))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* 1/2 (pow re 2)))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* 1/24 (pow re 2)))))))
#s(approx (cosh re) #s(hole binary64 (+ 1 (* (pow re 2) (+ 1/2 (* (pow re 2) (+ 1/24 (* 1/720 (pow re 2)))))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (cos im))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* 1/6 (* (pow re 2) (cos im)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/120 (* (pow re 2) (cos im))) (* 1/6 (cos im))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* re (+ (cos im) (* (pow re 2) (+ (* 1/6 (cos im)) (* (pow re 2) (+ (* 1/5040 (* (pow re 2) (cos im))) (* 1/120 (cos im))))))))))
#s(approx (sinh re) #s(hole binary64 re))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* 1/6 (pow re 2))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* 1/120 (pow re 2))))))))
#s(approx (sinh re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (+ 1/6 (* (pow re 2) (+ 1/120 (* 1/5040 (pow re 2))))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (* (cos im) (exp re))))
#s(approx (exp re) #s(hole binary64 (exp re)))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (* (cos im) (+ (exp re) (/ 1 (exp re))))) (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re))))))))
#s(approx (cosh re) #s(hole binary64 (* 1/2 (+ (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (* (cos im) (- (exp re) (/ 1 (exp re)))))))
#s(approx (sinh re) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (exp re)))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* -1/2 (* (pow im 2) (exp re))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* 1/24 (* (pow im 2) (exp re))))))))
#s(approx (* (exp re) (cos im)) #s(hole binary64 (+ (exp re) (* (pow im 2) (+ (* -1/2 (exp re)) (* (pow im 2) (+ (* -1/720 (* (pow im 2) (exp re))) (* 1/24 (exp re)))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (* -1/4 (- (exp re) (/ 1 (exp re))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))))
#s(approx (+ (* (cosh re) (cos im)) (* (sinh re) (cos im))) #s(hole binary64 (+ (* 1/2 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (+ (exp re) (/ 1 (exp re)))) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* 1/48 (+ (exp re) (/ 1 (exp re)))) (+ (* 1/48 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (+ (exp re) (/ 1 (exp re)))) (* -1/1440 (- (exp re) (/ 1 (exp re))))))))))))))))
#s(approx (cos im) #s(hole binary64 1))
#s(approx (cos im) #s(hole binary64 (+ 1 (* -1/2 (pow im 2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* 1/24 (pow im 2)) 1/2)))))
#s(approx (cos im) #s(hole binary64 (+ 1 (* (pow im 2) (- (* (pow im 2) (+ 1/24 (* -1/720 (pow im 2)))) 1/2)))))
#s(approx im #s(hole binary64 im))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (* 1/2 (- (exp re) (/ 1 (exp re))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* -1/4 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/2 (- (exp re) (/ 1 (exp re)))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* 1/48 (* (pow im 2) (- (exp re) (/ 1 (exp re))))))))))
#s(approx (* (sinh re) (cos im)) #s(hole binary64 (+ (* 1/2 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/4 (- (exp re) (/ 1 (exp re)))) (* (pow im 2) (+ (* -1/1440 (* (pow im 2) (- (exp re) (/ 1 (exp re))))) (* 1/48 (- (exp re) (/ 1 (exp re)))))))))))
#s(approx (cos im) #s(hole binary64 (cos im)))
Outputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (exp re) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 (cos.f64 im) (+.f64 (cosh.f64 re) #s(approx (sinh re) re)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 #s(approx (sinh re) re)) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (fma.f64 (*.f64 (neg.f64 #s(approx (sinh re) re)) (cos.f64 im)) (*.f64 (neg.f64 #s(approx (sinh re) re)) (cos.f64 im)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (neg.f64 #s(approx (sinh re) re)) (cos.f64 im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64))) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im))))))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(fma.f64 #s(approx (sinh re) re) (cos.f64 im) (*.f64 (cosh.f64 re) (cos.f64 im)))
(fma.f64 (cos.f64 im) (cosh.f64 re) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(fma.f64 (cos.f64 im) #s(approx (sinh re) re) (*.f64 (cosh.f64 re) (cos.f64 im)))
(-.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))) (/.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))))
(-.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 (neg.f64 #s(approx (sinh re) re)) (cos.f64 im)))
(+.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))))) (/.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))))))
(+.f64 (*.f64 (cosh.f64 re) (cos.f64 im)) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(+.f64 (*.f64 #s(approx (sinh re) re) (cos.f64 im)) (*.f64 (cosh.f64 re) (cos.f64 im)))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 (neg.f64 (neg.f64 re)))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 re)))
(cosh.f64 (neg.f64 re))
(cosh.f64 re)
(+.f64 (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)) (/.f64 (exp.f64 re) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 re) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 re)) #s(literal 2 binary64)))
re
(fma.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (neg.f64 im) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 im (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (neg.f64 (neg.f64 im)))
(cos.f64 (neg.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (sin.f64 im) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 im) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
im
(*.f64 #s(approx (sinh re) re) (cos.f64 im))
(*.f64 (cos.f64 im) #s(approx (sinh re) re))
#s(approx (sinh re) re)
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 im) re) (cos.f64 im)) re (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) re (cos.f64 im)) re (cos.f64 im)))
#s(approx (exp re) #s(literal 1 binary64))
#s(approx (exp re) (+.f64 #s(literal 1 binary64) re))
#s(approx (exp re) (fma.f64 (fma.f64 #s(literal 1/2 binary64) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (exp re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) re #s(literal 1/2 binary64)) re #s(literal 1 binary64)) re #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 im) re) (cos.f64 im)) re (cos.f64 im)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (cos.f64 im) re) (*.f64 #s(literal 1/2 binary64) (cos.f64 im))) re (cos.f64 im)) re (cos.f64 im)))
#s(approx (cosh re) #s(literal 1 binary64))
#s(approx (cosh re) (fma.f64 (*.f64 re re) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (cosh re) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))
#s(approx (cosh re) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 re re) #s(literal 1/24 binary64)) (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 re re) #s(literal 1 binary64)))
#s(approx re re)
#s(approx (* (sinh re) (cos im)) (*.f64 (cos.f64 im) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (cos.f64 im) (cos.f64 im)) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 re re)) (cos.f64 im) (*.f64 #s(literal 1/6 binary64) (cos.f64 im))) (*.f64 re re) (cos.f64 im)) re))
#s(approx (* (sinh re) (cos im)) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 re re)) (cos.f64 im) (*.f64 #s(literal 1/120 binary64) (cos.f64 im))) (*.f64 re re) (*.f64 #s(literal 1/6 binary64) (cos.f64 im))) (*.f64 re re) (cos.f64 im)) re))
#s(approx (sinh re) re)
#s(approx (sinh re) (*.f64 (fma.f64 (*.f64 re re) #s(literal 1/6 binary64) #s(literal 1 binary64)) re))
#s(approx (sinh re) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) re))
#s(approx (sinh re) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 re re) #s(literal 1/120 binary64)) (*.f64 re re) #s(literal 1/6 binary64)) (*.f64 re re) #s(literal 1 binary64)) re))
#s(approx (* (exp re) (cos im)) (*.f64 (cos.f64 im) (exp.f64 re)))
#s(approx (exp re) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (*.f64 #s(literal 1/2 binary64) (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) (cos.f64 im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (cos.f64 im)))))
#s(approx (cosh re) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sinh re) (cos im)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re))))
#s(approx (sinh re) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
#s(approx (* (exp re) (cos im)) (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (exp.f64 re) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) (exp.f64 re) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/720 binary64) (*.f64 im im)) (exp.f64 re) (*.f64 #s(literal 1/24 binary64) (exp.f64 re))) (*.f64 im im) (*.f64 #s(literal -1/2 binary64) (exp.f64 re))) (*.f64 im im) (exp.f64 re)))
#s(approx (* (exp re) (cos im)) (*.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))))
#s(approx (* (exp re) (cos im)) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))))
#s(approx (* (exp re) (cos im)) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal 1/48 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))) (*.f64 im im))))
#s(approx (* (exp re) (cos im)) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal -1/4 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (fma.f64 #s(literal 1/48 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re))) (*.f64 (*.f64 #s(literal -1/1440 binary64) (fma.f64 #s(literal 2 binary64) (cosh.f64 re) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im))) (*.f64 im im))) (*.f64 im im))))
#s(approx (cos im) #s(literal 1 binary64))
#s(approx (cos im) (fma.f64 (*.f64 im im) #s(literal -1/2 binary64) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 (*.f64 im im) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cos im) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im)) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx im im)
#s(approx (* (sinh re) (cos im)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64)))
#s(approx (* (sinh re) (cos im)) (fma.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (* (sinh re) (cos im)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/48 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 #s(literal -1/4 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (* (sinh re) (cos im)) (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/1440 binary64) (*.f64 im im)) (*.f64 #s(literal 2 binary64) (sinh.f64 re)) (*.f64 #s(literal 1/48 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 re)))) (*.f64 im im) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 re)) #s(literal 1/2 binary64))))
#s(approx (cos im) (cos.f64 im))

eval10.0ms (0.6%)

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

Compiled 1 941 to 328 computations (83.1% saved)

prune4.0ms (0.2%)

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

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New84084
Fresh000
Picked022
Done033
Total84589
Accuracy
100.0%
Counts
89 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.0%
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
100.0%
(*.f64 (exp.f64 re) (cos.f64 im))
73.9%
#s(approx (* (exp re) (cos im)) (exp.f64 re))
51.3%
#s(approx (* (exp re) (cos im)) (cos.f64 im))
31.2%
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
Compiler

Compiled 96 to 56 computations (41.7% saved)

regimes12.0ms (0.7%)

Memory
-28.6MiB live, 18.4MiB allocated; 1ms collecting garbage
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (* (exp re) (cos im)) #s(approx (exp re) #s(literal 1 binary64)))
#s(approx (* (exp re) (cos im)) (cos.f64 im))
#s(approx (* (exp re) (cos im)) (exp.f64 re))
(*.f64 (exp.f64 re) (cos.f64 im))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 #s(approx (sinh re) re) (cos.f64 im)))
(fma.f64 (cosh.f64 re) (cos.f64 im) (*.f64 (sinh.f64 re) (cos.f64 im)))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

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

Compiled 11 to 15 computations (-36.4% saved)

regimes7.0ms (0.4%)

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

5 calls:

2.0ms
im
2.0ms
re
1.0ms
(cos.f64 im)
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
79.7%2(cos.f64 im)
93.9%3(exp.f64 re)
93.5%4(*.f64 (exp.f64 re) (cos.f64 im))
93.9%3re
80.1%4im
Compiler

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.3%)

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

5 calls:

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

Compiled 11 to 15 computations (-36.4% saved)

regimes6.0ms (0.4%)

Memory
-43.8MiB live, 14.8MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

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

Compiled 11 to 15 computations (-36.4% saved)

bsearch29.0ms (1.7%)

Memory
17.4MiB live, 63.0MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
3.779189206805928e-15
3.237893682080371e-5
11.0ms
-1.4945144987779612e-5
-1.3713736895211596e-7
Samples
18.0ms272×0valid
Compiler

Compiled 280 to 282 computations (-0.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-cos: 7.0ms (56.5% of total)
ival-exp: 5.0ms (40.4% of total)
ival-mult!: 1.0ms (8.1% of total)
adjust: 0.0ms (0% of total)

derivations66.0ms (3.7%)

Memory
-11.1MiB live, 78.2MiB allocated; 18ms collecting garbage
Stop Event
done
Compiler

Compiled 55 to 19 computations (65.5% saved)

preprocess43.0ms (2.4%)

Memory
13.0MiB live, 61.5MiB allocated; 17ms collecting garbage
Remove

(abs im)

Compiler

Compiled 230 to 118 computations (48.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...