math.exp on complex, real part

Time bar (total: 1.7s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

sample817.0ms (48.9%)

Memory
24.4MiB live, 1 103.4MiB allocated; 143ms collecting garbage
Samples
615.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 389.0ms
ival-cos: 258.0ms (66.3% of total)
ival-exp: 92.0ms (23.6% of total)
ival-mult!: 38.0ms (9.8% of total)
adjust: 1.0ms (0.3% of total)
Bogosity

explain77.0ms (4.6%)

Memory
-24.8MiB live, 128.9MiB allocated; 28ms 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
43.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-cos: 20.0ms (75.5% of total)
ival-exp: 4.0ms (15.1% of total)
ival-mult!: 2.0ms (7.5% of total)
adjust: 0.0ms (0% of total)

preprocess28.0ms (1.7%)

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

series5.0ms (0.3%)

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

6 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
((* (exp re) (cos im)) (exp re) re (cos im) im)
1.0ms
re
@inf
((* (exp re) (cos im)) (exp re) re (cos im) im)
1.0ms
re
@0
((* (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)

rewrite177.0ms (10.6%)

Memory
23.3MiB live, 208.1MiB allocated; 59ms 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.5MiB live, 7.5MiB allocated; 0ms collecting garbage
Compiler

Compiled 456 to 133 computations (70.8% saved)

prune2.0ms (0.1%)

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

series17.0ms (1%)

Memory
-20.0MiB live, 26.9MiB 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
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))
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))
2.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))
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))
1.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))

rewrite174.0ms (10.4%)

Memory
29.3MiB live, 221.1MiB allocated; 52ms 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))

eval18.0ms (1.1%)

Memory
-28.3MiB live, 29.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 249 to 380 computations (83.1% saved)

prune4.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated; 0ms 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)

series11.0ms (0.7%)

Memory
-30.1MiB live, 16.2MiB allocated; 4ms 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
5.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))
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
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))

rewrite162.0ms (9.7%)

Memory
18.5MiB live, 249.2MiB allocated; 30ms 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
19.2MiB live, 19.2MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 941 to 328 computations (83.1% saved)

prune4.0ms (0.2%)

Memory
7.9MiB live, 7.9MiB 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
-22.8MiB live, 24.2MiB 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
re
2.0ms
im
2.0ms
(cos.f64 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)

regimes8.0ms (0.4%)

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

regimes22.0ms (1.3%)

Memory
-43.8MiB live, 15.1MiB allocated; 20ms 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:

17.0ms
im
1.0ms
re
1.0ms
(cos.f64 im)
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(exp.f64 re)
Results
AccuracySegmentsBranch
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)

regimes5.0ms (0.3%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

1.0ms
re
1.0ms
im
1.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
(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.8%)

Memory
-0.9MiB live, 47.5MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
3.779189206805928e-15
3.237893682080371e-5
10.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: 11.0ms
ival-cos: 7.0ms (66.3% of total)
ival-exp: 3.0ms (28.4% of total)
ival-mult!: 1.0ms (9.5% of total)
adjust: 0.0ms (0% of total)

derivations53.0ms (3.2%)

Memory
16.0MiB live, 63.2MiB allocated; 1ms collecting garbage
Stop Event
done
Compiler

Compiled 55 to 19 computations (65.5% saved)

preprocess31.0ms (1.9%)

Memory
-27.3MiB live, 67.5MiB allocated; 5ms 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...