math.sin on complex, real part

Time bar (total: 2.1s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.8MiB live, 0.8MiB 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 14 to 13 computations (7.1% saved)

sample1.2s (55%)

Memory
-5.0MiB live, 1 687.2MiB allocated; 362ms collecting garbage
Samples
900.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 600.0ms
ival-sin: 324.0ms (54% of total)
ival-exp: 139.0ms (23.2% of total)
ival-mult!: 96.0ms (16% of total)
ival-sub!: 22.0ms (3.7% of total)
ival-add!: 18.0ms (3% of total)
adjust: 1.0ms (0.2% of total)
Bogosity

explain111.0ms (5.3%)

Memory
18.4MiB live, 210.7MiB allocated; 14ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
00-0-(exp.f64 im)
00-0-(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
00-0-(sin.f64 re)
00-0-#s(literal 0 binary64)
00-0-im
00-0-(-.f64 #s(literal 0 binary64) im)
00-0-(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
00-0-re
00-0-#s(literal 1/2 binary64)
00-0-(exp.f64 (-.f64 #s(literal 0 binary64) 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
46.0ms512×0valid
Compiler

Compiled 92 to 37 computations (59.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-sin: 12.0ms (44.9% of total)
ival-exp: 8.0ms (29.9% of total)
ival-mult!: 5.0ms (18.7% of total)
ival-sub!: 1.0ms (3.7% of total)
ival-add!: 1.0ms (3.7% of total)
adjust: 0.0ms (0% of total)

preprocess30.0ms (1.4%)

Memory
-17.7MiB live, 34.3MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03068
111766
248366
3180038
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Symmetry

(abs im)

(negabs re)

Compiler

Compiled 24 to 22 computations (8.3% saved)

rewrite49.0ms (2.3%)

Memory
23.2MiB live, 69.7MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01138
01834
16530
050630
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 77
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
(exp.f64 (-.f64 #s(literal 0 binary64) im))
(-.f64 #s(literal 0 binary64) im)
#s(literal 0 binary64)
im
(exp.f64 im)
Outputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 #s(literal 2 binary64) (cosh.f64 im)))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))))) (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (-.f64 (*.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))) (*.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re))))))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (exp.f64 im) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (exp.f64 im) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 im) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64)) (exp.f64 (neg.f64 im)) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(-.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (neg.f64 (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(-.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (neg.f64 (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (exp.f64 im)))
(+.f64 (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 (sin.f64 re) #s(literal 1/2 binary64))) (*.f64 (*.f64 (exp.f64 im) #s(literal 1/2 binary64)) (sin.f64 re)))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (neg.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))))) (neg.f64 (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (pow.f64 (exp.f64 im) #s(literal 2 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (exp.f64 im) (-.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (exp.f64 (+.f64 (neg.f64 im) im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64)))) (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))))
(fma.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 2 binary64)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (+.f64 (exp.f64 im) (cosh.f64 im)) (sinh.f64 (neg.f64 im)))
(+.f64 (+.f64 (exp.f64 (neg.f64 im)) (cosh.f64 im)) (sinh.f64 im))
(+.f64 (/.f64 (exp.f64 (*.f64 (neg.f64 im) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))) (/.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (fma.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (exp.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64))))))
(+.f64 (cosh.f64 im) (+.f64 (sinh.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (cosh.f64 im) (+.f64 (sinh.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im)))) (-.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 (neg.f64 im)) (sinh.f64 (neg.f64 im))) (*.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (exp.f64 im)))
(/.f64 #s(literal 1 binary64) (exp.f64 im))
(-.f64 (cosh.f64 im) (sinh.f64 im))
(exp.f64 (neg.f64 im))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 (neg.f64 im)))
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (neg.f64 im) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 im im) (*.f64 #s(literal 0 binary64) (neg.f64 im)))))
(/.f64 (neg.f64 (*.f64 im (neg.f64 im))) (neg.f64 im))
(/.f64 (neg.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64)))) (*.f64 im (neg.f64 im)))
(/.f64 (*.f64 im (neg.f64 im)) (-.f64 #s(literal 0 binary64) (neg.f64 im)))
(/.f64 (*.f64 im (neg.f64 im)) im)
(/.f64 (neg.f64 (pow.f64 im #s(literal 3 binary64))) (*.f64 im im))
(neg.f64 im)
(-.f64 (/.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 im im) im))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 im im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 im im)))
(-.f64 #s(literal 0 binary64) im)
(+.f64 (neg.f64 im) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (neg.f64 im))
#s(literal 0 binary64)
im
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (sinh.f64 im) (sinh.f64 im))) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (sinh.f64 im) (sinh.f64 im)) (*.f64 (cosh.f64 im) (sinh.f64 im)))))
(exp.f64 im)
(+.f64 (sinh.f64 im) (cosh.f64 im))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval6.0ms (0.3%)

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

Compiled 1 307 to 249 computations (80.9% saved)

prune2.0ms (0.1%)

Memory
4.7MiB live, 4.8MiB allocated; 0ms collecting garbage
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New68169
Fresh000
Picked101
Done000
Total69170
Accuracy
100.0%
Counts
70 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

rewrite32.0ms (1.5%)

Memory
-1.7MiB live, 45.4MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0928
01428
13026
016026
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
9 → 59
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re))
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
#s(literal 2 binary64)
(cosh.f64 im)
im
(sin.f64 re)
re
#s(literal 1/2 binary64)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im))
(*.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) #s(literal 2 binary64))
(*.f64 (sin.f64 re) (*.f64 (cosh.f64 im) #s(literal 2 binary64)))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re))
(*.f64 (cosh.f64 im) (*.f64 #s(literal 2 binary64) (sin.f64 re)))
(*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)))
(fma.f64 (exp.f64 im) (sin.f64 re) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (exp.f64 im) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im))))
(fma.f64 (sin.f64 re) (cosh.f64 im) (*.f64 (sin.f64 re) (cosh.f64 im)))
(fma.f64 (cosh.f64 im) (sin.f64 re) (*.f64 (sin.f64 re) (cosh.f64 im)))
(+.f64 (*.f64 (exp.f64 im) (sin.f64 re)) (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (sin.f64 re) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) (*.f64 (sin.f64 re) (cosh.f64 im)))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 (neg.f64 im) (neg.f64 im)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 (neg.f64 im) im) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 (neg.f64 im) im) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 im (neg.f64 im)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 im (neg.f64 im)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 im im) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 im im) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal 3 binary64)) (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64))) (fma.f64 (exp.f64 im) (exp.f64 im) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (cosh.f64 im) (cosh.f64 im))) (-.f64 (cosh.f64 im) (cosh.f64 im)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64))) (fma.f64 (cosh.f64 im) (cosh.f64 im) (-.f64 (*.f64 (cosh.f64 im) (cosh.f64 im)) (*.f64 (cosh.f64 im) (cosh.f64 im)))))
(/.f64 (fma.f64 (cosh.f64 im) #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 2 binary64)))) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (cosh.f64 im))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (cosh.f64 im))
(+.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 im)) (*.f64 #s(literal 1 binary64) (cosh.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 (neg.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (cosh.f64 im) (cosh.f64 im))
#s(literal 2 binary64)
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)))
(/.f64 (neg.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64))) #s(literal -2 binary64))
(/.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (cosh.f64 im) #s(literal 2 binary64)))
im
(sin.f64 re)
re
#s(literal 1/2 binary64)

eval8.0ms (0.4%)

Memory
-34.9MiB live, 11.7MiB allocated; 2ms collecting garbage
Compiler

Compiled 704 to 209 computations (70.3% saved)

prune1.0ms (0.1%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New51152
Fresh000
Picked101
Done000
Total52153
Accuracy
100.0%
Counts
53 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)))
Compiler

Compiled 7 to 7 computations (0% saved)

rewrite51.0ms (2.4%)

Memory
17.5MiB live, 67.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
01117
12517
27417
051117
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 107
Calls
Call 1
Inputs
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)))
#s(literal 1 binary64)
(*.f64 (sin.f64 re) (cosh.f64 im))
(sin.f64 re)
re
(cosh.f64 im)
im
Outputs
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)))
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal -2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 2 binary64))
(fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (sin.f64 re) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (cosh.f64 im) (sin.f64 re) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (cosh.f64 im) (sin.f64 re) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (sin.f64 re) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 (sin.f64 re) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(fma.f64 (sin.f64 re) (cosh.f64 im) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (sin.f64 re) (cosh.f64 im) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(+.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (sin.f64 re)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (sin.f64 re) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
#s(literal 1 binary64)
(*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)))
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (sin.f64 re) (*.f64 #s(literal -2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) (cosh.f64 im)) #s(literal 2 binary64))
(fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (sin.f64 re) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (sin.f64 re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (/.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 1 binary64) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (cosh.f64 im) (sin.f64 re) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (cosh.f64 im) (sin.f64 re) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 (sin.f64 re) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 (sin.f64 re) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(fma.f64 (sin.f64 re) (cosh.f64 im) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 (sin.f64 re) (cosh.f64 im) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(fma.f64 #s(literal 1 binary64) (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(+.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (sin.f64 re)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (/.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (sin.f64 re) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 #s(literal 0 binary64) (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) #s(literal 0 binary64)))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(/.f64 (*.f64 #s(literal 2 binary64) (sin.f64 re)) #s(literal 2 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 2 binary64))
(fma.f64 (sin.f64 re) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(fma.f64 (sin.f64 re) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (sin.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(fma.f64 #s(literal 1 binary64) (sin.f64 re) (*.f64 (sin.f64 re) #s(literal 0 binary64)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 #s(literal 0 binary64) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) #s(literal 0 binary64)))
re
(*.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)))
(*.f64 (cosh.f64 im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))) (-.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))) (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im))) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (cosh.f64 im))) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 (exp.f64 im) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (exp.f64 (neg.f64 im)))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 (fma.f64 (exp.f64 im) (exp.f64 im) (expm1.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(neg.f64 (/.f64 (*.f64 #s(literal -2 binary64) (cosh.f64 im)) #s(literal 2 binary64)))
(neg.f64 (/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal -2 binary64)))
(fma.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (cosh.f64 im)))
(fma.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 (cosh.f64 im) #s(literal 0 binary64)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (cosh.f64 im)))
(fma.f64 (cosh.f64 im) #s(literal 1 binary64) (*.f64 (cosh.f64 im) #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) (/.f64 (exp.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 #s(literal 0 binary64) (cosh.f64 im)))
(fma.f64 #s(literal 1 binary64) (cosh.f64 im) (*.f64 (cosh.f64 im) #s(literal 0 binary64)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(+.f64 (*.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (/.f64 (exp.f64 im) #s(literal 2 binary64))) (*.f64 #s(literal 1 binary64) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
(+.f64 (cosh.f64 im) (*.f64 #s(literal 0 binary64) (cosh.f64 im)))
(+.f64 (cosh.f64 im) (*.f64 (cosh.f64 im) #s(literal 0 binary64)))
im

eval7.0ms (0.3%)

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

Compiled 1 003 to 243 computations (75.8% saved)

prune3.0ms (0.2%)

Memory
-41.3MiB live, 5.7MiB allocated; 3ms collecting garbage
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New73174
Fresh000
Picked101
Done000
Total74175
Accuracy
100.0%
Counts
75 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 re) (cosh.f64 im))
Compiler

Compiled 5 to 5 computations (0% saved)

series9.0ms (0.4%)

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

6 calls:

TimeVariablePointExpression
2.0ms
re
@0
((* (sin re) (cosh im)) (sin re) re (cosh im) im)
2.0ms
im
@inf
((* (sin re) (cosh im)) (sin re) re (cosh im) im)
1.0ms
re
@inf
((* (sin re) (cosh im)) (sin re) re (cosh im) im)
1.0ms
im
@-inf
((* (sin re) (cosh im)) (sin re) re (cosh im) im)
1.0ms
im
@0
((* (sin re) (cosh im)) (sin re) re (cosh im) im)

rewrite253.0ms (12.1%)

Memory
-8.0MiB live, 153.2MiB allocated; 111ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0111400
0113388
1679341
06878317
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
26 → 37
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
(sin.f64 re)
re
(cosh.f64 im)
im
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (* 1/2 (* re (+ (exp im) (/ 1 (exp im)))))))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (* re (+ (* -1/12 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/2 (+ (exp im) (/ 1 (exp im))))))))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* 1/240 (* (pow re 2) (+ (exp im) (/ 1 (exp im)))))))))))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (* re (+ (* 1/2 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/12 (+ (exp im) (/ 1 (exp im)))) (* (pow re 2) (+ (* -1/10080 (* (pow re 2) (+ (exp im) (/ 1 (exp im))))) (* 1/240 (+ (exp im) (/ 1 (exp im))))))))))))
#s(approx (sin re) #s(hole binary64 re))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* -1/6 (pow re 2))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* 1/120 (pow re 2)) 1/6))))))
#s(approx (sin re) #s(hole binary64 (* re (+ 1 (* (pow re 2) (- (* (pow re 2) (+ 1/120 (* -1/5040 (pow re 2)))) 1/6))))))
#s(approx re #s(hole binary64 re))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (* 1/2 (* (sin re) (+ (exp im) (/ 1 (exp im)))))))
#s(approx (sin re) #s(hole binary64 (sin re)))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (sin re)))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (+ (sin re) (* 1/2 (* (pow im 2) (sin re))))))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (+ (sin re) (* (pow im 2) (+ (* 1/24 (* (pow im 2) (sin re))) (* 1/2 (sin re)))))))
#s(approx (* (sin re) (cosh im)) #s(hole binary64 (+ (sin re) (* (pow im 2) (+ (* 1/2 (sin re)) (* (pow im 2) (+ (* 1/720 (* (pow im 2) (sin re))) (* 1/24 (sin re)))))))))
#s(approx (cosh im) #s(hole binary64 1))
#s(approx (cosh im) #s(hole binary64 (+ 1 (* 1/2 (pow im 2)))))
#s(approx (cosh im) #s(hole binary64 (+ 1 (* (pow im 2) (+ 1/2 (* 1/24 (pow im 2)))))))
#s(approx (cosh im) #s(hole binary64 (+ 1 (* (pow im 2) (+ 1/2 (* (pow im 2) (+ 1/24 (* 1/720 (pow im 2)))))))))
#s(approx im #s(hole binary64 im))
#s(approx (cosh im) #s(hole binary64 (* 1/2 (+ (exp im) (/ 1 (exp im))))))
Outputs
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 2 binary64))
(sin.f64 re)
re
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im))) #s(literal -2 binary64))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 (neg.f64 im)))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (*.f64 #s(literal 2 binary64) (sinh.f64 im))) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 im)) #s(literal 2 binary64)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) #s(literal -3 binary64)) (pow.f64 (exp.f64 im) #s(literal 3 binary64))) (*.f64 (fma.f64 (exp.f64 im) (exp.f64 im) (expm1.f64 (*.f64 (neg.f64 im) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 2 binary64))
(cosh.f64 (neg.f64 (neg.f64 im)))
(cosh.f64 (neg.f64 im))
(cosh.f64 im)
(+.f64 (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)) (/.f64 (exp.f64 im) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 im) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 im)) #s(literal 2 binary64)))
im
#s(approx (* (sin re) (cosh im)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64)) re))
#s(approx (* (sin re) (cosh im)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64))) re))
#s(approx (* (sin re) (cosh im)) (*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (fma.f64 #s(literal 1/240 binary64) (*.f64 re re) #s(literal -1/12 binary64))) (*.f64 re re) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64))) re))
#s(approx (* (sin re) (cosh im)) (*.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (fma.f64 (*.f64 re re) #s(literal -1/12 binary64) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 re re) #s(literal 1/240 binary64))) (*.f64 re re)) (*.f64 re re))) re))
#s(approx (sin re) re)
#s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re))
#s(approx (sin 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 (sin 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 re re)
#s(approx (* (sin re) (cosh im)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (cosh.f64 im))))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
#s(approx (* (sin re) (cosh im)) (*.f64 (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)) (sin.f64 re)))
#s(approx (* (sin re) (cosh im)) (fma.f64 (*.f64 (sin.f64 re) (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64))) (*.f64 im im) (sin.f64 re)))
#s(approx (* (sin re) (cosh im)) (fma.f64 (fma.f64 (*.f64 (sin.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) (sin.f64 re))) (*.f64 im im) (sin.f64 re)))
#s(approx (cosh im) #s(literal 1 binary64))
#s(approx (cosh im) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64)))
#s(approx im im)
#s(approx (cosh im) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) #s(literal 1/2 binary64)))

eval4.0ms (0.2%)

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

Compiled 473 to 138 computations (70.8% saved)

prune4.0ms (0.2%)

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

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New26632
Fresh000
Picked011
Done000
Total26733
Accuracy
100.0%
Counts
33 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 re) (cosh.f64 im))
93.2%
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
90.5%
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
78.5%
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
63.2%
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
59.0%
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
53.9%
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
Compiler

Compiled 198 to 111 computations (43.9% saved)

regimes49.0ms (2.3%)

Memory
-23.0MiB live, 27.0MiB allocated; 6ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) (cosh.f64 im)))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 im)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Outputs
(*.f64 (sin.f64 re) (cosh.f64 im))
Calls

6 calls:

33.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
3.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
3.0ms
re
3.0ms
(sin.f64 re)
3.0ms
im
Results
AccuracySegmentsBranch
100.0%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
100.0%1(sin.f64 re)
100.0%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
100.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
100.0%1re
100.0%1im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes13.0ms (0.6%)

Memory
18.4MiB live, 18.4MiB allocated; 0ms collecting garbage
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (*.f64 im im) #s(literal 1/24 binary64)) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
Calls

6 calls:

2.0ms
(sin.f64 re)
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
re
2.0ms
im
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
93.2%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
96.7%3(sin.f64 re)
96.7%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
99.5%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
96.4%2re
98.4%3im
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes2.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated; 0ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (*.f64 im im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
Outputs
(*.f64 #s(approx (sin re) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 re re) #s(literal 1 binary64)) re)) (cosh.f64 im))
(*.f64 (sin.f64 re) #s(approx (cosh im) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 im im) #s(literal 1 binary64))))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
Calls

1 calls:

2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.5%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes2.0ms (0.1%)

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

1 calls:

2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
99.4%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 12 to 11 computations (8.3% saved)

regimes20.0ms (1%)

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

6 calls:

13.0ms
re
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
(sin.f64 re)
1.0ms
im
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
85.5%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
90.0%3(sin.f64 re)
90.0%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
90.0%2re
93.4%3im
93.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes8.0ms (0.4%)

Memory
13.9MiB live, 13.9MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
Outputs
#s(approx (* (sin re) (cosh im)) (sin.f64 re))
(*.f64 #s(approx (sin re) re) (cosh.f64 im))
Calls

6 calls:

1.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
im
1.0ms
(sin.f64 re)
1.0ms
re
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
85.3%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
78.0%3(sin.f64 re)
78.0%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
76.4%2re
85.3%2im
85.5%2(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

regimes6.0ms (0.3%)

Memory
13.0MiB live, 13.1MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

1.0ms
(sin.f64 re)
1.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
1.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
1.0ms
re
1.0ms
im
Results
AccuracySegmentsBranch
53.9%1re
53.9%1(sin.f64 re)
53.9%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
53.9%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
53.9%1im
53.9%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

bsearch1.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

derivations167.0ms (7.9%)

Memory
-34.0MiB live, 156.7MiB allocated; 14ms collecting garbage
Stop Event
fuel
Compiler

Compiled 281 to 52 computations (81.5% saved)

preprocess106.0ms (5%)

Memory
7.2MiB live, 241.2MiB allocated; 29ms collecting garbage
Remove

(negabs re)

(abs im)

Compiler

Compiled 2 246 to 1 074 computations (52.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...