math.sin on complex, real part

Time bar (total: 2.8s)

analyze0.0ms (0%)

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 15 to 12 computations (20% saved)

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

sample1.0s (37.5%)

Results
772.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 554.0ms
ival-sin: 217.0ms (39.2% of total)
ival-mult: 130.0ms (23.5% of total)
ival-exp: 97.0ms (17.5% of total)
ival-sub: 46.0ms (8.3% of total)
ival-add: 45.0ms (8.1% of total)
const: 15.0ms (2.7% of total)
backward-pass: 4.0ms (0.7% of total)
Bogosity

preprocess252.0ms (9%)

Algorithm
egg-herbie
Rules
989×fma-neg
725×fma-define
264×times-frac
215×distribute-lft-neg-in
170×unsub-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036316
1111308
2397308
3986298
41988294
53213294
63708294
74185294
84839294
94992294
105009294
115009294
125041294
135070294
145070294
Stop Event
saturated
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 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (fma.f64 #s(literal 1/2 binary64) (exp.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 re))))
Symmetry

(abs im)

(negabs re)

explain151.0ms (5.4%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
01(2.9210715183529425e+183 243.02811610941674)0-(exp.f64 (-.f64 #s(literal 0 binary64) im))
00-0-#s(literal 1/2 binary64)
00-0-re
00-0-(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
00-0-(-.f64 #s(literal 0 binary64) im)
00-0-im
00-0-#s(literal 0 binary64)
00-0-(sin.f64 re)
00-0-(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
00-0-(exp.f64 im)
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
85.0ms512×256valid
Compiler

Compiled 96 to 61 computations (36.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 54.0ms
ival-exp: 13.0ms (24.2% of total)
ival-sin: 13.0ms (24.2% of total)
ival-mult: 11.0ms (20.5% of total)
ival-sub: 9.0ms (16.8% of total)
ival-add: 5.0ms (9.3% of total)
const: 2.0ms (3.7% of total)

eval0.0ms (0%)

Compiler

Compiled 24 to 15 computations (37.5% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize44.0ms (1.6%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
Results
31.0ms256×256valid
Compiler

Compiled 36 to 14 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sin: 7.0ms (38.1% of total)
ival-mult: 5.0ms (27.2% of total)
ival-exp: 3.0ms (16.3% of total)
ival-add: 1.0ms (5.4% of total)
const: 1.0ms (5.4% of total)
ival-neg: 1.0ms (5.4% of total)

series1.0ms (0%)

Counts
1 → 4
Calls
Call 1
Inputs
#<alt (sin.f64 re)>
Outputs
#<alt re>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))>
#<alt (*.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)))))>
#<alt (*.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)))))>
Calls

3 calls:

TimeVariablePointExpression
0.0ms
re
@0
(sin re)
0.0ms
re
@-inf
(sin re)
0.0ms
re
@inf
(sin re)

rewrite260.0ms (9.3%)

Algorithm
batch-egg-rewrite
Rules
990×log1p-expm1-u
809×expm1-log1p-u
194×associate-*r*
158×associate-*l*
157×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
1448
24588
351268
Stop Event
node limit
Counts
1 → 50
Calls
Call 1
Inputs
(sin.f64 re)
Outputs
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (sin.f64 re))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))

simplify83.0ms (3%)

Algorithm
egg-herbie
Rules
385×distribute-lft-out
367×fma-define
355×associate-*r*
336×associate-+l-
305×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01661214
13191198
28201171
335681122
Stop Event
node limit
Counts
54 → 79
Calls
Call 1
Inputs
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 (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)))))
(*.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)))))
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (sin.f64 re))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
Outputs
re
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))
(*.f64 re (fma.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)) #s(literal 1 binary64)))
(fma.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64)) 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)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64)) #s(literal -1/6 binary64)))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) 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)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64))) #s(literal -1/6 binary64)))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) #s(literal -1/6 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) (fma.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 4 binary64)) #s(literal -1/6 binary64))) (pow.f64 re #s(literal 3 binary64)) re)
(fma.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64)) #s(literal -1/6 binary64)) (pow.f64 re #s(literal 3 binary64)) re)
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(sin.f64 re)
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(sin.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(sin.f64 re)
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(sin.f64 re)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(sin.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 5 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) #s(literal 3 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64))))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 5 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(sin.f64 re)
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(/.f64 (+.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 (sin.f64 re) #s(literal 2 binary64))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 #s(literal 2 binary64) (sin.f64 re))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 #s(literal 2 binary64) (sin.f64 re)))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1 binary64) (sin.f64 re)) (+.f64 #s(literal 2 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(sin.f64 re)
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(sin.f64 re)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(sin.f64 re)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(sin.f64 re)
(fabs.f64 (sin.f64 re))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(sin.f64 re)
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (sin.f64 re))) #s(literal 1/3 binary64)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(sin.f64 re)

eval19.0ms (0.7%)

Compiler

Compiled 1570 to 744 computations (52.6% saved)

prune19.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New77279
Fresh000
Picked011
Done000
Total77380
Accuracy
100.0%
Counts
80 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 40 to 31 computations (22.5% saved)

localize150.0ms (5.4%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
99.9%
(exp.f64 (sin.f64 re))
53.6%
(log.f64 (exp.f64 (sin.f64 re)))
Results
34.0ms153×256valid
54.0ms60×1024valid
22.0ms37×512valid
6.0ms2048valid
2.0ms4096valid
Compiler

Compiled 76 to 22 computations (71.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 82.0ms
ival-log: 30.0ms (36.7% of total)
ival-exp: 17.0ms (20.8% of total)
ival-mult: 17.0ms (20.8% of total)
ival-sin: 9.0ms (11% of total)
ival-neg: 5.0ms (6.1% of total)
ival-add: 2.0ms (2.4% of total)
const: 1.0ms (1.2% of total)

series2.0ms (0.1%)

Counts
2 → 16
Calls
Call 1
Inputs
#<alt (log.f64 (exp.f64 (sin.f64 re)))>
#<alt (exp.f64 (sin.f64 re))>
Outputs
#<alt re>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))>
#<alt (*.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)))))>
#<alt (*.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)))))>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt (sin.f64 re)>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) re)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 2 binary64))))))))>
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(exp (sin re))
0.0ms
re
@0
(log (exp (sin re)))
0.0ms
re
@inf
(exp (sin re))
0.0ms
re
@-inf
(exp (sin re))
0.0ms
re
@-inf
(log (exp (sin re)))

rewrite177.0ms (6.3%)

Algorithm
batch-egg-rewrite
Rules
782×log1p-expm1-u
281×associate-*r*
227×expm1-log1p-u
225×associate-*l*
215×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
16520
263920
3708120
Stop Event
node limit
Counts
2 → 121
Calls
Call 1
Inputs
(log.f64 (exp.f64 (sin.f64 re)))
(exp.f64 (sin.f64 re))
Outputs
(+.f64 (sin.f64 re) #s(literal 0 binary64))
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(+.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(+.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(-.f64 (+.f64 #s(literal 0 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 3 binary64) (sin.f64 re)))
(*.f64 #s(literal 3 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) (sin.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(fabs.f64 (sin.f64 re))
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(+.f64 (expm1.f64 (sin.f64 re)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re)))
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (exp.f64 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(-.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (exp.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (exp.f64 (sin.f64 re))))
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (exp.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (exp.f64 (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 5 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(/.f64 (exp.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64)) (expm1.f64 (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 3 binary64))
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))
(pow.f64 (E.f64) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (cbrt.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))
(fabs.f64 (exp.f64 (sin.f64 re)))
(log.f64 (exp.f64 (exp.f64 (sin.f64 re))))
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 re))))

simplify50.0ms (1.8%)

Algorithm
egg-herbie
Rules
169×fma-define
158×distribute-lft-in
141×associate-*r*
131×distribute-rgt-in
98×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03391844
17521844
231681844
Stop Event
unsound
Counts
137 → 137
Calls
Call 1
Inputs
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 (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)))))
(*.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)))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) re)
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 2 binary64))))))))
(+.f64 (sin.f64 re) #s(literal 0 binary64))
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(+.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(+.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(-.f64 (+.f64 #s(literal 0 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64))
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(*.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 3 binary64) (sin.f64 re)))
(*.f64 #s(literal 3 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) (sin.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(fabs.f64 (sin.f64 re))
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(+.f64 (expm1.f64 (sin.f64 re)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re)))
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (exp.f64 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(-.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (exp.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (exp.f64 (sin.f64 re))))
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (exp.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (exp.f64 (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 5 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(/.f64 (exp.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64)) (expm1.f64 (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 3 binary64))
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))
(pow.f64 (E.f64) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (cbrt.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))
(fabs.f64 (exp.f64 (sin.f64 re)))
(log.f64 (exp.f64 (exp.f64 (sin.f64 re))))
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 re))))
Outputs
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 (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)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 2 binary64)) #s(literal -1/6 binary64)))))
(*.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)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64))) #s(literal -1/6 binary64)))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
#s(literal 1 binary64)
(sin.f64 re)
(+.f64 #s(literal 1 binary64) re)
(+.f64 re #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))))
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 re #s(literal 1/2 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 2 binary64))))))))
(+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 re (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/8 binary64)))))))
(+.f64 (sin.f64 re) #s(literal 0 binary64))
(sin.f64 re)
(+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal -1 binary64))
(sin.f64 re)
(+.f64 #s(literal 0 binary64) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(sin.f64 re)
(+.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(sin.f64 re)
(+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(sin.f64 re)
(+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(sin.f64 re)
(+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 1 binary64)))
(sin.f64 re)
(-.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64))
(sin.f64 re)
(-.f64 (*.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64))) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (sin.f64 #s(literal 1 binary64))))
(-.f64 (+.f64 #s(literal 0 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64))
(sin.f64 re)
(*.f64 (sin.f64 re) #s(literal 1 binary64))
(sin.f64 re)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 #s(literal 1 binary64) (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))
(sin.f64 re)
(*.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 3 binary64) (sin.f64 re)))
(sin.f64 re)
(*.f64 #s(literal 3 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)) (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (sin.f64 re))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 5 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(sin.f64 re)
(/.f64 (sqrt.f64 (-.f64 (cos.f64 #s(literal 0 binary64)) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (sqrt.f64 (-.f64 #s(literal 1 binary64) (cos.f64 (*.f64 re #s(literal 2 binary64))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 3 binary64))) (+.f64 #s(literal 0 binary64) (-.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) (*.f64 #s(literal 0 binary64) (sin.f64 re)))))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 3 binary64))) (+.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (sin.f64 re) #s(literal 1 binary64)))))
(sin.f64 re)
(/.f64 (-.f64 #s(literal 0 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) (-.f64 #s(literal 0 binary64) (sin.f64 re)))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) (+.f64 (sin.f64 re) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64)) #s(literal 1 binary64)))
(sin.f64 re)
(pow.f64 (sin.f64 re) #s(literal 1 binary64))
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 3 binary64))
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) #s(literal 2 binary64))
(sin.f64 re)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(sin.f64 re)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (sin.f64 re))))
(sin.f64 re)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sin.f64 re)))) (sqrt.f64 (log.f64 (sin.f64 re))))
(sin.f64 re)
(sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(sin.f64 re)
(fabs.f64 (sin.f64 re))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64)))
(sin.f64 re)
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 re))) #s(literal 3 binary64)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) #s(literal 3 binary64))) #s(literal 1/3 binary64)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)))
(sin.f64 re)
(+.f64 (expm1.f64 (sin.f64 re)) #s(literal 1 binary64))
(sin.f64 re)
(+.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal -1 binary64))
(sin.f64 re)
(+.f64 #s(literal 0 binary64) (exp.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(sin.f64 re)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (sin.f64 re))))))
(sin.f64 re)
(-.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64))
(sin.f64 re)
(*.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(sin.f64 re)
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 #s(literal 1 binary64) (exp.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))
(sin.f64 re)
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (exp.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (exp.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(sin.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(sin.f64 re)
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 #s(literal 1/3 binary64) (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))) (pow.f64 (E.f64) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (exp.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 5/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (sin.f64 re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3/2 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (sin.f64 re) #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 5 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 4 binary64))))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))))
(sin.f64 re)
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64))) (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1/6 binary64)))
(sin.f64 re)
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(sin.f64 re)
(/.f64 (exp.f64 (+.f64 (sin.f64 re) #s(literal 1 binary64))) (E.f64))
(sin.f64 re)
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64)) (expm1.f64 (sin.f64 re)))))
(sin.f64 re)
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)))))
(sin.f64 re)
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (expm1.f64 (sin.f64 re)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (expm1.f64 (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64)) #s(literal 1 binary64)))
(sin.f64 re)
(pow.f64 (exp.f64 (sin.f64 re)) #s(literal 1 binary64))
(sin.f64 re)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 3 binary64))
(sin.f64 re)
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(sin.f64 re)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))
(sin.f64 re)
(pow.f64 (E.f64) (sin.f64 re))
(sin.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(pow.f64 (exp.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64))) (pow.f64 (sin.f64 re) #s(literal 1/4 binary64)))
(sin.f64 re)
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) #s(literal 2 binary64))))
(sin.f64 re)
(fabs.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (exp.f64 (exp.f64 (sin.f64 re))))
(sin.f64 re)
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 3 binary64)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 re))))
(sin.f64 re)
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 re))))
(sin.f64 re)

eval45.0ms (1.6%)

Compiler

Compiled 4561 to 2200 computations (51.8% saved)

prune49.0ms (1.8%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2160216
Fresh000
Picked022
Done011
Total2163219
Accuracy
100.0%
Counts
219 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.6%
(*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.4%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 88 to 56 computations (36.4% saved)

regimes11.0ms (0.4%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

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

Compiled 39 to 30 computations (23.1% saved)

regimes1.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

2 calls:

0.0ms
im
0.0ms
re
Results
AccuracySegmentsBranch
63.4%1re
63.4%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01884
12784
22984
33084
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) re))

soundness387.0ms (13.8%)

Rules
989×fma-neg
725×fma-define
264×times-frac
215×distribute-lft-neg-in
170×unsub-neg
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036316
1111308
2397308
3986298
41988294
53213294
63708294
74185294
84839294
94992294
105009294
115009294
125041294
135070294
145070294
Stop Event
done
saturated
Compiler

Compiled 122 to 73 computations (40.2% saved)

preprocess40.0ms (1.4%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 230 to 168 computations (27% saved)

end0.0ms (0%)

Profiling

Loading profile data...