math.sin on complex, real part

Time bar (total: 4.1s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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.5s (38.1%)

Memory
17.8MiB live, 1 123.0MiB allocated; 454ms collecting garbage
Samples
1.2s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 930.0ms
ival-sin: 487.0ms (52.3% of total)
ival-exp: 235.0ms (25.3% of total)
ival-mult!: 107.0ms (11.5% of total)
ival-add!: 78.0ms (8.4% of total)
ival-sub!: 21.0ms (2.3% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

preprocess68.0ms (1.7%)

Memory
-6.4MiB live, 39.3MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03066
118954
2164654
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Symmetry

(abs re)

(abs im)

(negabs re)

(negabs im)

Compiler

Compiled 24 to 22 computations (8.3% saved)

series114.0ms (2.8%)

Memory
13.3MiB live, 58.8MiB allocated; 12ms collecting garbage
Counts
11 → 37
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
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/240 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/12 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/240 binary64) (*.f64 #s(literal -1/10080 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/12 binary64))))))
#s(approx (sin re) re)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/6 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))))
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (exp (- 0 im)) #s(literal 1 binary64))
#s(approx (exp (- 0 im)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) im)))
#s(approx (exp (- 0 im)) (+.f64 #s(literal 1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)))))
#s(approx (exp (- 0 im)) (+.f64 #s(literal 1 binary64) (*.f64 im (-.f64 (*.f64 im (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) im))) #s(literal 1 binary64)))))
#s(approx (- 0 im) (*.f64 #s(literal -1 binary64) im))
#s(approx im im)
#s(approx (exp im) (+.f64 #s(literal 1 binary64) im))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) im)))))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) im)))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
#s(approx (exp (- 0 im)) (exp.f64 (neg.f64 im)))
#s(approx (exp im) (exp.f64 im))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))
#s(approx (exp (- 0 im)) (exp.f64 (*.f64 #s(literal -1 binary64) im)))
Calls

6 calls:

TimeVariablePoint
2.0ms
im
-inf
2.0ms
im
0
2.0ms
re
inf
2.0ms
im
inf
1.0ms
re
-inf

rewrite192.0ms (4.7%)

Memory
-5.1MiB live, 93.2MiB allocated; 20ms collecting garbage
Counts
11 → 43
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 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (cosh.f64 im) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 2 binary64)) (cosh.f64 im)) (sin.f64 re))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 2 binary64)) (cosh.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (sin.f64 re))
(*.f64 (sin.f64 re) #s(literal 1/2 binary64))
(*.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64))
#s(literal 1/2 binary64)
(sin.f64 re)
re
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im))) (*.f64 #s(literal 2 binary64) (sinh.f64 (neg.f64 im)))))
(*.f64 (+.f64 (expm1.f64 (neg.f64 (+.f64 im im))) (exp.f64 (+.f64 im im))) (/.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (+.f64 (expm1.f64 (neg.f64 (+.f64 im im))) (exp.f64 (+.f64 im im)))))
(*.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 (*.f64 im #s(literal 3 binary64)))) (exp.f64 (*.f64 im #s(literal 3 binary64)))) (+.f64 (exp.f64 (*.f64 (neg.f64 (+.f64 im im)) #s(literal 3 binary64))) (pow.f64 (expm1.f64 (+.f64 im im)) #s(literal 3 binary64)))) (fma.f64 (expm1.f64 (+.f64 im im)) (-.f64 (expm1.f64 (+.f64 im im)) (exp.f64 (neg.f64 (+.f64 im im)))) (exp.f64 (*.f64 (neg.f64 (+.f64 im im)) #s(literal 2 binary64)))))
(*.f64 (exp.f64 (neg.f64 im)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cosh.f64 im) #s(literal 3 binary64)) (pow.f64 (sinh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 im) (-.f64 (sinh.f64 im) (cosh.f64 im)) (*.f64 (cosh.f64 im) (cosh.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 #s(literal 0 binary64) (exp.f64 im)))
(+.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im))
(*.f64 (/.f64 (*.f64 im im) (fabs.f64 im)) (/.f64 (neg.f64 im) (fabs.f64 im)))
(*.f64 (/.f64 (*.f64 im im) (*.f64 (*.f64 im im) im)) (neg.f64 (*.f64 im im)))
(*.f64 (/.f64 (*.f64 im im) (*.f64 im im)) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) im))
(*.f64 (*.f64 im im) (/.f64 (neg.f64 im) (*.f64 im im)))
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 im #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) im)
im
(*.f64 #s(literal 1 binary64) im)
(*.f64 (/.f64 im im) im)
(*.f64 im (/.f64 im im))
(*.f64 (/.f64 (*.f64 im im) (fabs.f64 im)) (/.f64 im (fabs.f64 im)))
(*.f64 (exp.f64 im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (exp.f64 im))
(*.f64 (/.f64 #s(literal 1 binary64) (neg.f64 #s(literal 1 binary64))) (neg.f64 (exp.f64 im)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (sinh.f64 (neg.f64 im)) #s(literal 3 binary64)) (pow.f64 (cosh.f64 im) #s(literal 3 binary64)))) (fma.f64 (sinh.f64 (neg.f64 im)) (-.f64 (sinh.f64 (neg.f64 im)) (cosh.f64 im)) (*.f64 (cosh.f64 im) (cosh.f64 im))))
(+.f64 (cosh.f64 im) (sinh.f64 im))

eval13.0ms (0.3%)

Memory
-32.3MiB live, 12.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 1 543 to 401 computations (74% saved)

prune4.0ms (0.1%)

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

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New69574
Fresh000
Picked101
Done000
Total70575
Accuracy
100.0%
Counts
75 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
48.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
26.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
39.6%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
40.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
Compiler

Compiled 168 to 146 computations (13.1% saved)

series188.0ms (4.6%)

Memory
-9.2MiB live, 88.9MiB allocated; 55ms collecting garbage
Counts
28 → 82
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
(sin.f64 re)
re
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 im)
(exp.f64 (neg.f64 im))
(neg.f64 im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (- 0 im)) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 im #s(literal 2 binary64))
Outputs
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/120 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (sin re) re)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/6 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))))
#s(approx (* re (+ (exp im) (exp (neg im)))) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/240 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/12 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/240 binary64) (*.f64 #s(literal -1/10080 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/12 binary64))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/6 binary64)))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64)))))) #s(literal 1/6 binary64)))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (fma.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/10080 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/5040 binary64))))))) #s(literal 1/6 binary64)))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64))))))))))
#s(approx (* (pow im 2) (sin re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
#s(approx (* (pow im 2) (sin re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 #s(literal 2 binary64) (sin.f64 re)))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/12 binary64) (sin.f64 re))))))))
#s(approx (* (cosh im) 2) #s(literal 2 binary64))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (cosh im) #s(literal 1 binary64))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx im im)
#s(approx (* 1/2 (* re (+ (exp im) (exp (neg im))))) (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
#s(approx (* 1/2 (* re (+ (exp im) (exp (neg im))))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re) (*.f64 #s(literal 1/2 binary64) re)))))
#s(approx (* 1/2 (* re (+ (exp im) (exp (neg im))))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re) (*.f64 #s(literal 1/24 binary64) re)))))))
#s(approx (* re (+ (exp im) (exp (neg im)))) (*.f64 #s(literal 2 binary64) re))
#s(approx (* re (+ (exp im) (exp (neg im)))) (fma.f64 #s(literal 2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (* re (+ (exp im) (exp (neg im)))) (fma.f64 #s(literal 2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))))
#s(approx (* re (+ (exp im) (exp (neg im)))) (fma.f64 #s(literal 2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re) (*.f64 #s(literal 1/12 binary64) re)))))))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) im))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) im)))))
#s(approx (exp im) (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 im (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) im)))))))
#s(approx (exp (neg im)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) im)))
#s(approx (exp (neg im)) (+.f64 #s(literal 1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)))))
#s(approx (exp (neg im)) (+.f64 #s(literal 1 binary64) (*.f64 im (-.f64 (*.f64 im (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) im))) #s(literal 1 binary64)))))
#s(approx (neg im) (*.f64 #s(literal -1 binary64) im))
#s(approx (pow im 2) (pow.f64 im #s(literal 2 binary64)))
#s(approx (* (cosh im) 2) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))
#s(approx (cosh im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (+ (exp im) (exp (neg im))) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
#s(approx (exp im) (exp.f64 im))
#s(approx (exp (neg im)) (exp.f64 (neg.f64 im)))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
#s(approx (* 1/2 (* re (+ (exp im) (exp (neg im))))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
#s(approx (* re (+ (exp im) (exp (neg im)))) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
#s(approx (+ (exp im) (exp (neg im))) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))
#s(approx (exp (neg im)) (exp.f64 (*.f64 #s(literal -1 binary64) im)))
Calls

6 calls:

TimeVariablePoint
6.0ms
im
inf
4.0ms
re
0
4.0ms
im
-inf
3.0ms
re
inf
3.0ms
re
-inf

rewrite173.0ms (4.2%)

Memory
26.0MiB live, 165.2MiB allocated; 10ms collecting garbage
Counts
28 → 108
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
(sin.f64 re)
re
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 im)
(exp.f64 (neg.f64 im))
(neg.f64 im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im))
#s(approx (exp (- 0 im)) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 im #s(literal 2 binary64))
Outputs
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
(*.f64 (/.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64))))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
(cos.f64 (+.f64 #s(literal 2 binary64) (/.f64 (PI.f64) #s(literal 2 binary64))))
(neg.f64 (sin.f64 #s(literal 2 binary64)))
(sin.f64 #s(literal 2 binary64))
(sin.f64 (+.f64 #s(literal 2 binary64) (PI.f64)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
#s(approx (* 1/2 (sin 2)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64))) #s(approx 2 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
#s(approx 2 #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64))) (+.f64 #s(approx 2 #s(literal 2 binary64)) #s(literal 2 binary64)))
(+.f64 #s(approx 2 #s(literal 2 binary64)) #s(literal 2 binary64))
#s(approx 2 #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im
#s(approx (* 1/2 (sin 2)) (*.f64 (fma.f64 #s(literal 2 binary64) #s(literal 1/2 binary64) #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))))
(*.f64 (fma.f64 #s(literal 2 binary64) #s(literal 1/2 binary64) #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (fma.f64 #s(literal 2 binary64) #s(literal 1/2 binary64) #s(literal 2 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 2 binary64) #s(literal 1/2 binary64) #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 (fma.f64 #s(literal 2 binary64) #s(literal 1/2 binary64) #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) #s(literal 2 binary64) #s(literal 2 binary64)) (-.f64 #s(literal 1/2 binary64) (*.f64 (cos.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
(*.f64 (/.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64))))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
re
im

eval50.0ms (1.2%)

Memory
-31.3MiB live, 30.6MiB allocated; 52ms collecting garbage
Compiler

Compiled 4 083 to 710 computations (82.6% saved)

prune12.0ms (0.3%)

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

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New14614160
Fresh000
Picked325
Done000
Total14916165
Accuracy
100.0%
Counts
165 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
40.5%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))) #s(literal 1/2 binary64))
40.1%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
5.0%
(*.f64 (*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
3.5%
(*.f64 (*.f64 im (sin.f64 re)) #s(literal 1/2 binary64))
26.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
40.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
16.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
4.3%
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
40.5%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
22.8%
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
4.9%
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
34.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
4.5%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
4.4%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
5.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
Compiler

Compiled 443 to 396 computations (10.6% saved)

series137.0ms (3.4%)

Memory
-0.7MiB live, 188.9MiB allocated; 32ms collecting garbage
Counts
29 → 69
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))
re
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))
#s(literal 1 binary64)
(*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))
#s(literal -1/6 binary64)
(pow.f64 re #s(literal 2 binary64))
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(approx (sin re) re)
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
(+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re))
(pow.f64 im #s(literal 2 binary64))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(sin.f64 #s(literal 2 binary64))
(neg.f64 #s(literal 1/2 binary64))
Outputs
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/120 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (sin re) re)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/6 binary64))))))
#s(approx (+ 1 (* -1/6 (pow re 2))) #s(literal 1 binary64))
#s(approx (+ 1 (* -1/6 (pow re 2))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))
#s(approx (* -1/6 (pow re 2)) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))
#s(approx (pow re 2) (pow.f64 re #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) re))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/240 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/12 binary64))))))
#s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/240 binary64) (*.f64 #s(literal -1/10080 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/12 binary64))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/6 binary64)))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64)))))) #s(literal 1/6 binary64)))))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (fma.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/10080 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/5040 binary64))))))) #s(literal 1/6 binary64)))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/240 binary64) (pow.f64 im #s(literal 2 binary64))))))))))
#s(approx (* (pow im 2) (sin re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (pow im 2) (sin re)) (*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (sin re) (sin.f64 re))
#s(approx (* re (+ 1 (* -1/6 (pow re 2)))) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64))))
#s(approx (* re (+ 1 (* -1/6 (pow re 2)))) (*.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))
#s(approx (+ 1 (* -1/6 (pow re 2))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* 1/2 (sin re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
#s(approx (* 1/2 (* (pow im 2) (sin re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
#s(approx (* (pow im 2) (sin re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
#s(approx (* re (+ 1 (* -1/6 (pow re 2)))) (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 #s(literal 2 binary64) (sin.f64 re)))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/12 binary64) (sin.f64 re))))))))
#s(approx (* (cosh im) 2) #s(literal 2 binary64))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx im im)
#s(approx (pow im 2) (pow.f64 im #s(literal 2 binary64)))
#s(approx (* (cosh im) 2) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))
#s(approx (cosh im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
#s(approx (+ (sin re) (* 1/2 (* (pow im 2) (sin re)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))
Calls

6 calls:

TimeVariablePoint
3.0ms
re
inf
3.0ms
re
-inf
2.0ms
im
-inf
2.0ms
im
inf
1.0ms
re
0

rewrite176.0ms (4.3%)

Memory
-6.8MiB live, 178.8MiB allocated; 40ms collecting garbage
Counts
29 → 97
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))
re
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))
#s(literal 1 binary64)
(*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))
#s(literal -1/6 binary64)
(pow.f64 re #s(literal 2 binary64))
#s(literal 1/2 binary64)
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
(*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re))
#s(approx (sin re) re)
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
(+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re))
(pow.f64 im #s(literal 2 binary64))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(sin.f64 #s(literal 2 binary64))
(neg.f64 #s(literal 1/2 binary64))
Outputs
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
(*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(literal -1/6 binary64)
(*.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))
(/.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
#s(literal -1/6 binary64)
(*.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))
(/.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
#s(approx (sin 2) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx 2 #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx 2 #s(literal 2 binary64))
#s(approx (sin 2) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))
(*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re
(*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (cos.f64 #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (cos.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (cos.f64 #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (cos.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 0 binary64)
re

eval34.0ms (0.8%)

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

Compiled 2 642 to 534 computations (79.8% saved)

prune19.0ms (0.5%)

Memory
-22.1MiB live, 24.1MiB allocated; 9ms collecting garbage
Pruning

18 alts after pruning (12 fresh and 6 done)

PrunedKeptTotal
New90797
Fresh459
Picked145
Done022
Total9518113
Accuracy
100.0%
Counts
113 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
28.9%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
28.3%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
40.1%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
26.6%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
5.0%
(*.f64 (*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
3.8%
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
4.3%
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
26.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
40.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
16.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
4.3%
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
4.9%
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
34.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
4.3%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
4.4%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
5.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
4.5%
#s(approx (sin 2) #s(literal 2 binary64))
Compiler

Compiled 390 to 357 computations (8.5% saved)

series125.0ms (3.1%)

Memory
15.1MiB live, 159.6MiB allocated; 21ms collecting garbage
Counts
21 → 57
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
#s(approx (sin re) re)
re
#s(literal 1/2 binary64)
#s(approx (sin 2) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))))
#s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
#s(literal -1/6 binary64)
Outputs
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 re (+.f64 (exp.f64 im) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))) (*.f64 #s(literal 1/120 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (sin re) re)
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/6 binary64))))))
#s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1/6 binary64))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (sin re) (sin.f64 re))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
#s(approx (* (* (* (cosh im) 2) (sin re)) 1/2) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))))
#s(approx (* (* (cosh im) 2) (sin re)) (*.f64 #s(literal 2 binary64) (sin.f64 re)))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))))
#s(approx (* (* (cosh im) 2) (sin re)) (fma.f64 #s(literal 2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) (*.f64 #s(literal 1/12 binary64) (sin.f64 re))))))))
#s(approx (* (cosh im) 2) #s(literal 2 binary64))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* (cosh im) 2) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (cosh im) #s(literal 1 binary64))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (cosh im) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx im im)
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 4 binary64) (sin.f64 #s(literal 2 binary64))))
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (fma.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 4 binary64) (sin.f64 #s(literal 2 binary64)))))
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (fma.f64 #s(literal 4 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)))))))
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (fma.f64 #s(literal 4 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/180 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/6 binary64) (sin.f64 #s(literal 2 binary64)))))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (sin.f64 #s(literal 2 binary64)))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (+.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (+.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (+.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/24 binary64) (sin.f64 #s(literal 2 binary64)))))))))
#s(approx (* (* (cosh im) 2) (sin 2)) (*.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64))))
#s(approx (* (* (cosh im) 2) (sin 2)) (fma.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64)))))
#s(approx (* (* (cosh im) 2) (sin 2)) (fma.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))))))))
#s(approx (* (* (cosh im) 2) (sin 2)) (fma.f64 #s(literal 2 binary64) (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (sin.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/12 binary64) (sin.f64 #s(literal 2 binary64)))))))))
#s(approx (* (cosh im) 2) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))
#s(approx (cosh im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im))))))
#s(approx (* (* (cosh im) 2) (sin 2)) (*.f64 (sin.f64 #s(literal 2 binary64)) (+.f64 (exp.f64 im) (/.f64 #s(literal 1 binary64) (exp.f64 im)))))
#s(approx (* (* 2 (sin 2)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
#s(approx (+ (exp (- 0 im)) (exp im)) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))))
Calls

6 calls:

TimeVariablePoint
3.0ms
im
-inf
3.0ms
im
inf
1.0ms
re
-inf
1.0ms
im
0
1.0ms
re
inf

rewrite176.0ms (4.3%)

Memory
-10.1MiB live, 223.3MiB allocated; 97ms collecting garbage
Counts
21 → 45
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re))
(*.f64 (cosh.f64 im) #s(literal 2 binary64))
(cosh.f64 im)
im
#s(literal 2 binary64)
#s(approx (sin re) re)
re
#s(literal 1/2 binary64)
#s(approx (sin 2) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))
#s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))))
#s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
#s(literal -1/6 binary64)
Outputs
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) #s(approx (sin re) re))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
im
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
im
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
im
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
im
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
#s(approx (sin re) re)
re
#s(literal 1/2 binary64)
#s(approx 2 #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64))) #s(approx 2 #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64)))
#s(approx 2 #s(literal 2 binary64))
#s(approx (* 1/2 (sin re)) (+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64))))))
(+.f64 #s(approx 2 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx 2 #s(literal 2 binary64))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx 2 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) #s(approx 2 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))))
#s(approx 2 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64) #s(literal 2 binary64)) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64) #s(literal 2 binary64)))
#s(literal -1/6 binary64)
(*.f64 #s(literal 2 binary64) #s(literal -1/6 binary64))
(*.f64 #s(literal -1/6 binary64) #s(literal 2 binary64))
(+.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))
(-.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64))

eval13.0ms (0.3%)

Memory
-7.2MiB live, 38.9MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 213 to 431 computations (80.5% saved)

prune9.0ms (0.2%)

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

21 alts after pruning (10 fresh and 11 done)

PrunedKeptTotal
New964100
Fresh167
Picked055
Done066
Total9721118
Accuracy
100.0%
Counts
118 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.4%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1/2 binary64))
28.9%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
28.3%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
40.1%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
26.6%
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
5.2%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
10.3%
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
3.6%
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
3.8%
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
4.3%
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
26.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
40.1%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
16.3%
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
4.3%
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
4.9%
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
5.0%
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (sin.f64 #s(literal 2 binary64)))
34.1%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
4.3%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
4.4%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
5.0%
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
4.5%
#s(approx (sin 2) #s(literal 2 binary64))
Compiler

Compiled 273 to 249 computations (8.8% saved)

regimes285.0ms (7%)

Memory
-1.1MiB live, 418.8MiB allocated; 79ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
4 → 1
6 → 2
11 → 2
12 → 1
13 → 1
23 → 2
25 → 3
31 → 3
Calls
Call 1
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
Outputs
#s(approx (sin 2) #s(literal 2 binary64))
Call 2
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
Outputs
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
Call 3
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
Call 4
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
Call 5
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
Call 6
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
Outputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
Call 7
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (sin.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
Outputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
Call 8
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (sin.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im (sin.f64 re)) #s(literal 1/2 binary64))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
Call 9
Inputs
#s(approx (sin 2) #s(literal 2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (neg.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 2 binary64))
(*.f64 (*.f64 im #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin 2) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) #s(approx (sin 2) #s(literal 2 binary64))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) #s(approx (sin re) re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin 2) (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 #s(literal -1/6 binary64) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 #s(approx (sin re) re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(approx (sin re) re)))))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
#s(approx (* (* (* (cosh im) 2) (sin 2)) 1/2) (sin.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (sin.f64 #s(literal 2 binary64)))
(*.f64 (sin.f64 #s(literal 2 binary64)) (neg.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sin.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 (*.f64 im (sin.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) (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)))
#s(approx (* (* 1/2 (sin re)) (+ (exp (- 0 im)) (exp im))) (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
Outputs
(*.f64 (*.f64 (*.f64 (cosh.f64 im) #s(literal 2 binary64)) #s(approx (sin re) (*.f64 (-.f64 #s(literal -1/6 binary64) #s(literal 2 binary64)) #s(literal -1/6 binary64)))) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(approx (+ (exp (- 0 im)) (exp im)) #s(literal 2 binary64)))
(*.f64 #s(approx (* 1/2 (sin re)) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64)))))) (+.f64 #s(approx (exp (- 0 im)) #s(literal 1 binary64)) (exp.f64 im)))
Calls

48 calls:

20.0ms
im
18.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
17.0ms
(sin.f64 re)
15.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
4.5%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
4.5%1im
4.5%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
4.5%1(sin.f64 re)
4.5%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
4.5%1re
5.0%1(sin.f64 re)
5.0%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
5.0%1im
5.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
5.0%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
5.0%1re
16.3%1(sin.f64 re)
16.3%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
16.3%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
16.3%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
16.3%1im
18.2%2re
23.0%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
22.7%2im
22.7%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
22.9%3(sin.f64 re)
22.9%3(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
22.9%2re
40.1%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
40.1%1im
40.1%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
40.1%1(sin.f64 re)
40.1%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
40.1%1re
40.1%1im
40.1%1re
40.1%1(sin.f64 re)
40.1%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
40.1%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
45.1%3re
43.9%2(sin.f64 re)
43.9%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
40.1%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
42.9%2im
53.1%3im
50.9%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
51.2%2(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
50.7%2(sin.f64 re)
50.7%2(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
53.2%3(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
48.4%1re
53.1%3im
Compiler

Compiled 653 to 350 computations (46.4% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9991031203235009
+inf
0.0ms
-0.9996288134016776
-0.997210179582326
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch47.0ms (1.2%)

Memory
6.7MiB live, 58.0MiB allocated; 7ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
6.646856066528334e+176
6.907346832767864e+181
16.0ms
2.4958974855817202e-8
3.095828172001074e-5
Samples
29.0ms272×0valid
Compiler

Compiled 465 to 475 computations (-2.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-sin: 8.0ms (35.6% of total)
ival-add!: 6.0ms (26.7% of total)
ival-exp: 5.0ms (22.3% of total)
ival-mult!: 3.0ms (13.4% of total)
ival-sub!: 1.0ms (4.5% of total)
adjust: 0.0ms (0% of total)

bsearch1.0ms (0%)

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

Compiled 15 to 16 computations (-6.7% saved)

bsearch24.0ms (0.6%)

Memory
-21.1MiB live, 25.0MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
22.0ms
1.1519891915260368e+40
1.6567154164243103e+41
Samples
16.0ms96×0valid
Compiler

Compiled 159 to 154 computations (3.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sin: 8.0ms (64.9% of total)
ival-exp: 2.0ms (16.2% of total)
ival-mult!: 2.0ms (16.2% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch11.0ms (0.3%)

Memory
19.8MiB live, 19.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
7.810011641048233e-19
1.1320954436408437e-18
Samples
6.0ms64×0valid
Compiler

Compiled 143 to 140 computations (2.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-exp: 1.0ms (24.8% of total)
ival-sin: 1.0ms (24.8% of total)
ival-mult!: 1.0ms (24.8% of total)
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

derivations3.0ms (0.1%)

Memory
7.1MiB live, 7.1MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 273 to 81 computations (70.3% saved)

preprocess645.0ms (15.9%)

Memory
2.4MiB live, 800.9MiB allocated; 277ms collecting garbage
Remove

(abs im)

(negabs im)

(abs re)

Compiler

Compiled 3 485 to 2 260 computations (35.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...