math.sin on complex, real part

Time bar (total: 3.4s)

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.4s (42%)

Results
512.0ms4210×0infinite
585.0ms4046×0valid
Precisions
Click to see histograms. Total time spent on operations: 670.0ms
ival-sin: 232.0ms (34.6% of total)
ival-mult: 147.0ms (21.9% of total)
ival-exp: 124.0ms (18.5% of total)
ival-sub: 101.0ms (15.1% of total)
ival-add: 46.0ms (6.9% of total)
const: 17.0ms (2.5% of total)
backward-pass: 4.0ms (0.6% of total)
Bogosity

preprocess257.0ms (7.5%)

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 #s(literal 1/2 binary64) (*.f64 (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 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 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 (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 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (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 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 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 (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 (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)

explain160.0ms (4.7%)

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
55.0ms260×256valid
46.0ms252×256infinite
Compiler

Compiled 96 to 61 computations (36.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-sin: 15.0ms (25.7% of total)
ival-exp: 13.0ms (22.3% of total)
ival-mult: 13.0ms (22.3% of total)
ival-sub: 9.0ms (15.4% of total)
ival-add: 5.0ms (8.6% of total)
const: 2.0ms (3.4% of total)

eval0.0ms (0%)

Compiler

Compiled 13 to 10 computations (23.1% saved)

prune1.0ms (0%)

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

Compiled 13 to 10 computations (23.1% saved)

localize54.0ms (1.6%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
Results
23.0ms130×256valid
18.0ms126×256infinite
Compiler

Compiled 41 to 12 computations (70.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-sin: 7.0ms (40.9% of total)
ival-mult: 4.0ms (23.4% of total)
ival-exp: 3.0ms (17.5% of total)
ival-add: 1.0ms (5.8% of total)
const: 1.0ms (5.8% of total)
ival-neg: 1.0ms (5.8% 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)

rewrite299.0ms (8.8%)

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 → 51
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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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)))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (pow.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 (pow.f64 (cbrt.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)))
(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)))

simplify93.0ms (2.7%)

Algorithm
egg-herbie
Rules
760×prod-exp
345×fma-define
341×associate-+l-
310×associate-+r-
251×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01641350
13121322
28141295
331351280
467961280
Stop Event
node limit
Counts
55 → 68
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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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)))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (pow.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 (pow.f64 (cbrt.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)))
(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)))
Outputs
re
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 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)))))
(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)))))
(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)
(+.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))))
(fma.f64 (sin.f64 (+.f64 re #s(literal 1 binary64))) (cos.f64 #s(literal 1 binary64)) (*.f64 (cos.f64 (+.f64 re #s(literal 1 binary64))) (neg.f64 (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 (cbrt.f64 (pow.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 (sin.f64 re))) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (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 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64))) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64))) (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 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 (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 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 8 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)) (pow.f64 (pow.f64 (sin.f64 re) #s(literal 1/6 binary64)) #s(literal 3 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 (cbrt.f64 (sin.f64 re))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 8 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 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 4 binary64)))) (cbrt.f64 (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 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)))) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) #s(literal 2 binary64)) (cbrt.f64 (pow.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 (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 #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)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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)
(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)

eval20.0ms (0.6%)

Compiler

Compiled 1294 to 594 computations (54.1% saved)

prune10.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

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

Compiled 40 to 31 computations (22.5% saved)

localize208.0ms (6.1%)

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
20.0ms86×256valid
19.0ms67×256infinite
34.0ms39×1024infinite
67.0ms22×512valid
18.0ms21×1024valid
6.0ms15×512infinite
6.0ms2048infinite
1.0ms2048valid
Compiler

Compiled 86 to 18 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 125.0ms
ival-add: 60.0ms (47.9% of total)
ival-log: 25.0ms (19.9% of total)
ival-exp: 14.0ms (11.2% of total)
ival-mult: 12.0ms (9.6% of total)
ival-sin: 10.0ms (8% of total)
ival-neg: 3.0ms (2.4% of total)
const: 1.0ms (0.8% 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)))

rewrite202.0ms (5.9%)

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 → 127
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 (pow.f64 (cbrt.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)))
(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 (cbrt.f64 (pow.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))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.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)) (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 (*.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 (pow.f64 (exp.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 (exp.f64 (*.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))))
(exp.f64 (sin.f64 re))
(exp.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (sin.f64 re)) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (E.f64)) (sin.f64 re)))

simplify34.0ms (1%)

Algorithm
egg-herbie
Rules
179×fma-define
147×distribute-lft-in
146×associate-*r*
123×distribute-rgt-in
95×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03471892
17641892
231831892
Stop Event
unsound
Counts
143 → 135
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 (pow.f64 (cbrt.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)))
(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 (cbrt.f64 (pow.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))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.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)) (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 (*.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 (pow.f64 (exp.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 (exp.f64 (*.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))))
(exp.f64 (sin.f64 re))
(exp.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (sin.f64 re)) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (E.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)) (-.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 (pow.f64 (cbrt.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)))
(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 (cbrt.f64 (pow.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))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.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)) (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.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 (pow.f64 (exp.f64 (sin.f64 re)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 (*.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 (pow.f64 (exp.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 (exp.f64 (*.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))))
(exp.f64 (sin.f64 re))
(exp.f64 (*.f64 (*.f64 #s(literal 1/3 binary64) (sin.f64 re)) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (sin.f64 re)) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (E.f64)) (sin.f64 re)))

eval73.0ms (2.1%)

Compiler

Compiled 4188 to 1943 computations (53.6% saved)

prune33.0ms (1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

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

Compiled 88 to 56 computations (36.4% saved)

regimes11.0ms (0.3%)

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

6 calls:

2.0ms
im
2.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
2.0ms
(sin.f64 re)
2.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
2.0ms
re
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 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 #s(literal 1/2 binary64) (*.f64 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 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

soundness474.0ms (13.9%)

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 220 to 138 computations (37.3% saved)

preprocess41.0ms (1.2%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 230 to 168 computations (27% saved)

end0.0ms (0%)

Profiling

Loading profile data...