math.sin on complex, real part

Time bar (total: 3.2s)

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
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-sin, time spent: 0.0ms, 0.0% of total-time

sample1.4s (44%)

Results
642.0ms4210×256infinite
667.0ms4045×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 659.0ms
Operation ival-sin, time spent: 253.0ms, 38.0% of total-time
Operation ival-mult, time spent: 144.0ms, 22.0% of total-time
Operation ival-exp, time spent: 139.0ms, 21.0% of total-time
Operation ival-sub, time spent: 53.0ms, 8.0% of total-time
Operation ival-add, time spent: 51.0ms, 8.0% of total-time
Operation const, time spent: 19.0ms, 3.0% of total-time
Bogosity

preprocess444.0ms (13.8%)

Algorithm
egg-herbie
Rules
1978×fma-neg
1450×fma-define
528×times-frac
430×distribute-lft-neg-in
340×unsub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-0
00-0-(exp.f64 im)
00-0-(sin.f64 re)
01(2.9210715183529425e+183 243.02811610941674)0-(exp.f64 (-.f64 0 im))
00-0-(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
00-0-(-.f64 0 im)
00-0-im
00-0-1/2
00-0-(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
00-0-(*.f64 1/2 (sin.f64 re))
00-0-re
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (-.f64 0 im))sensitivity10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
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 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.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) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.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) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs im)

(negabs re)

Compiler

Compiled 110 to 72 computations (34.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 66.0ms
Operation ival-sin, time spent: 18.0ms, 27.0% of total-time
Operation ival-exp, time spent: 16.0ms, 24.0% of total-time
Operation ival-mult, time spent: 12.0ms, 18.0% of total-time
Operation ival-sub, time spent: 12.0ms, 18.0% of total-time
Operation ival-add, time spent: 5.0ms, 8.0% of total-time
Operation const, time spent: 3.0ms, 5.0% of total-time

eval1.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 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize62.0ms (1.9%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
Compiler

Compiled 36 to 14 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-sin, time spent: 8.0ms, 39.0% of total-time
Operation ival-mult, time spent: 6.0ms, 29.0% of total-time
Operation ival-exp, time spent: 3.0ms, 15.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time

series1.0ms (0%)

Counts
1 → 4
Calls
Call 1
Inputs
#<alt (sin.f64 re)>
Outputs
#<alt re>
#<alt (*.f64 re (+.f64 1 (*.f64 -1/6 (pow.f64 re 2))))>
#<alt (*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))>
#<alt (*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))>
Calls

3 calls:

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

rewrite239.0ms (7.4%)

Algorithm
batch-egg-rewrite
Rules
990×log1p-expm1-u
809×expm1-log1p-u
388×associate-*r*
316×associate-*l*
252×unpow-prod-down
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) 1) -1)
(+.f64 0 (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 2)) (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) 1) 1)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(*.f64 (sin.f64 re) 1)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (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))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) 2))) (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) 2))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(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))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))

simplify60.0ms (1.9%)

Algorithm
egg-herbie
Rules
770×distribute-lft-out
734×fma-define
710×associate-*r*
672×associate-+l-
610×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 1 (*.f64 -1/6 (pow.f64 re 2))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))
(+.f64 (+.f64 (sin.f64 re) 1) -1)
(+.f64 0 (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 2)) (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) 1) 1)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(*.f64 (sin.f64 re) 1)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (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))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) 2))) (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) 2))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(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))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))
Outputs
re
(*.f64 re (+.f64 1 (*.f64 -1/6 (pow.f64 re 2))))
(*.f64 re (fma.f64 -1/6 (pow.f64 re 2) 1))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (fma.f64 1/120 (pow.f64 re 2) -1/6))))
(*.f64 re (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/120 -1/6) 1))
(fma.f64 (fma.f64 (pow.f64 re 2) 1/120 -1/6) (pow.f64 re 3) re)
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 (pow.f64 re 2) -1/5040)) -1/6))))
(*.f64 re (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) -1/5040 1/120) -1/6) 1))
(fma.f64 (fma.f64 (pow.f64 re 2) 1/120 (fma.f64 -1/5040 (pow.f64 re 4) -1/6)) (pow.f64 re 3) re)
(fma.f64 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) -1/5040 1/120) -1/6) (pow.f64 re 3) re)
(+.f64 (+.f64 (sin.f64 re) 1) -1)
(sin.f64 re)
(+.f64 0 (sin.f64 re))
(sin.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 2)) (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 2 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(-.f64 (+.f64 (sin.f64 re) 1) 1)
(sin.f64 re)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (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))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(sin.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 5))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2) 1/3) (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) 4)) 2)))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (pow.f64 (sin.f64 re) 1/6) 3))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)) 2)) (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) 4)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)))
(*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 5))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(sin.f64 re)
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (fma.f64 (+.f64 1 (sin.f64 re)) (+.f64 1 (sin.f64 re)) (+.f64 (sin.f64 re) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (sin.f64 re)) 3)) (fma.f64 (+.f64 1 (sin.f64 re)) (+.f64 1 (sin.f64 re)) (+.f64 2 (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (sin.f64 re)) 3)) (+.f64 1 (*.f64 (+.f64 1 (sin.f64 re)) (+.f64 2 (sin.f64 re)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (sin.f64 re)) 3)) (fma.f64 (+.f64 1 (sin.f64 re)) (+.f64 2 (sin.f64 re)) 1))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(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)) 2))) (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) 2))
(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) 3))
(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))) 3))
(sin.f64 re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 re))) 1/3))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))
(sin.f64 re)

eval26.0ms (0.8%)

Compiler

Compiled 1570 to 744 computations (52.6% saved)

prune11.0ms (0.3%)

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 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.6%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 40 to 31 computations (22.5% saved)

localize155.0ms (4.8%)

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)))
Compiler

Compiled 76 to 22 computations (71.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 77.0ms
Operation ival-log, time spent: 25.0ms, 32.0% of total-time
Operation ival-mult, time spent: 19.0ms, 25.0% of total-time
Operation ival-exp, time spent: 16.0ms, 21.0% of total-time
Operation ival-sin, time spent: 10.0ms, 13.0% of total-time
Operation ival-add, time spent: 3.0ms, 4.0% of total-time
Operation const, time spent: 2.0ms, 3.0% of total-time
Operation ival-neg, time spent: 2.0ms, 3.0% of total-time

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 1 (*.f64 -1/6 (pow.f64 re 2))))>
#<alt (*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))>
#<alt (*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))>
#<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 1>
#<alt (+.f64 1 re)>
#<alt (+.f64 1 (*.f64 re (+.f64 1 (*.f64 1/2 re))))>
#<alt (+.f64 1 (*.f64 re (+.f64 1 (*.f64 re (+.f64 1/2 (*.f64 -1/8 (pow.f64 re 2)))))))>
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)))

rewrite174.0ms (5.4%)

Algorithm
batch-egg-rewrite
Rules
782×log1p-expm1-u
562×associate-*r*
450×associate-*l*
378×unpow-prod-down
252×log-prod
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) 0)
(+.f64 (+.f64 (sin.f64 re) 1) -1)
(+.f64 0 (sin.f64 re))
(+.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re)))
(+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 2 (*.f64 1/3 (sin.f64 re))))
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 1) (*.f64 (*.f64 1/3 (sin.f64 re)) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1) (*.f64 (*.f64 1/2 (sin.f64 re)) 1))
(-.f64 (+.f64 (sin.f64 re) 1) 1)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(-.f64 (+.f64 0 (+.f64 (sin.f64 re) 1)) 1)
(*.f64 (sin.f64 re) 1)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 2 (*.f64 1/2 (sin.f64 re)))
(*.f64 1/3 (*.f64 3 (sin.f64 re)))
(*.f64 3 (*.f64 1/3 (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (+.f64 0 (pow.f64 (sin.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 0 (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 3) (pow.f64 (*.f64 1/3 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(/.f64 (-.f64 0 (pow.f64 (sin.f64 re) 2)) (-.f64 0 (sin.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) 2))) (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) 2))
(fabs.f64 (sin.f64 re))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(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))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))
(+.f64 (expm1.f64 (sin.f64 re)) 1)
(+.f64 1 (expm1.f64 (sin.f64 re)))
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) -1)
(+.f64 0 (exp.f64 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) 2)) (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)) 1) 1)
(*.f64 (exp.f64 (sin.f64 re)) 1)
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(*.f64 1 (exp.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (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) 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (sin.f64 re))))
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (exp.f64 (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) 1/4)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 5)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) 1)) (E.f64))
(/.f64 (exp.f64 (+.f64 (sin.f64 re) 1)) (E.f64))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) 2) (expm1.f64 (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) (+.f64 1 (+.f64 (exp.f64 (sin.f64 re)) 1))))
(/.f64 (-.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 2)) (-.f64 1 (expm1.f64 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) 1) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 1))
(pow.f64 (exp.f64 (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 3)
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) 2)
(pow.f64 (E.f64) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (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)) 2))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))
(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)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 re))))

simplify53.0ms (1.7%)

Algorithm
egg-herbie
Rules
338×fma-define
316×distribute-lft-in
282×associate-*r*
262×distribute-rgt-in
196×*-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 1 (*.f64 -1/6 (pow.f64 re 2))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1
(+.f64 1 re)
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 1/2 re))))
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 re (+.f64 1/2 (*.f64 -1/8 (pow.f64 re 2)))))))
(+.f64 (sin.f64 re) 0)
(+.f64 (+.f64 (sin.f64 re) 1) -1)
(+.f64 0 (sin.f64 re))
(+.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re)))
(+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 2 (*.f64 1/3 (sin.f64 re))))
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 1) (*.f64 (*.f64 1/3 (sin.f64 re)) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1) (*.f64 (*.f64 1/2 (sin.f64 re)) 1))
(-.f64 (+.f64 (sin.f64 re) 1) 1)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(-.f64 (+.f64 0 (+.f64 (sin.f64 re) 1)) 1)
(*.f64 (sin.f64 re) 1)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 2 (*.f64 1/2 (sin.f64 re)))
(*.f64 1/3 (*.f64 3 (sin.f64 re)))
(*.f64 3 (*.f64 1/3 (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (+.f64 0 (pow.f64 (sin.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 0 (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 3) (pow.f64 (*.f64 1/3 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(/.f64 (-.f64 0 (pow.f64 (sin.f64 re) 2)) (-.f64 0 (sin.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (E.f64) (log.f64 (sin.f64 re)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (sin.f64 re)) 2))) (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) 2))
(fabs.f64 (sin.f64 re))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(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))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))
(+.f64 (expm1.f64 (sin.f64 re)) 1)
(+.f64 1 (expm1.f64 (sin.f64 re)))
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) -1)
(+.f64 0 (exp.f64 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) 2)) (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)) 1) 1)
(*.f64 (exp.f64 (sin.f64 re)) 1)
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(*.f64 1 (exp.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (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) 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (sin.f64 re))))
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (exp.f64 (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) 1/4)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 5)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) 1)) (E.f64))
(/.f64 (exp.f64 (+.f64 (sin.f64 re) 1)) (E.f64))
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) 2) (expm1.f64 (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) (+.f64 1 (+.f64 (exp.f64 (sin.f64 re)) 1))))
(/.f64 (-.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 2)) (-.f64 1 (expm1.f64 (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) 1) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 1))
(pow.f64 (exp.f64 (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 3)
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) 2)
(pow.f64 (E.f64) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (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)) 2))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))
(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)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 re))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 re))))
Outputs
re
(*.f64 re (+.f64 1 (*.f64 -1/6 (pow.f64 re 2))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/120 (pow.f64 re 2)) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (fma.f64 1/120 (pow.f64 re 2) -1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 -1/5040 (pow.f64 re 2)))) 1/6))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (+.f64 1/120 (*.f64 (pow.f64 re 2) -1/5040)) -1/6))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1
(sin.f64 re)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 1/2 re))))
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 re 1/2))))
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 re (+.f64 1/2 (*.f64 -1/8 (pow.f64 re 2)))))))
(+.f64 1 (*.f64 re (+.f64 1 (*.f64 re (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/8))))))
(+.f64 (sin.f64 re) 0)
(sin.f64 re)
(+.f64 (+.f64 (sin.f64 re) 1) -1)
(sin.f64 re)
(+.f64 0 (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re)))
(sin.f64 re)
(+.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 2 (*.f64 1/3 (sin.f64 re))))
(sin.f64 re)
(+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 1) (*.f64 (*.f64 1/3 (sin.f64 re)) 1))
(sin.f64 re)
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1) (*.f64 (*.f64 1/2 (sin.f64 re)) 1))
(sin.f64 re)
(-.f64 (+.f64 (sin.f64 re) 1) 1)
(sin.f64 re)
(-.f64 (*.f64 (sin.f64 (+.f64 re 1)) (cos.f64 1)) (*.f64 (cos.f64 (+.f64 re 1)) (sin.f64 1)))
(-.f64 (+.f64 0 (+.f64 (sin.f64 re) 1)) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 2 (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(*.f64 1/3 (*.f64 3 (sin.f64 re)))
(sin.f64 re)
(*.f64 3 (*.f64 1/3 (sin.f64 re)))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) 1/6) (*.f64 (pow.f64 (sin.f64 re) 1/6) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)))
(sin.f64 re)
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 1 1/3) (sin.f64 re))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (sin.f64 re) 5/2) 1/3) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)) (pow.f64 (sin.f64 re) 1/4))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 5)) (pow.f64 (sin.f64 re) 1/6))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(sin.f64 re)
(/.f64 (sqrt.f64 (-.f64 (cos.f64 0) (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (sqrt.f64 (-.f64 1 (cos.f64 (*.f64 re 2)))) (sqrt.f64 2))
(/.f64 (+.f64 0 (pow.f64 (sin.f64 re) 3)) (+.f64 0 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 0 (sin.f64 re)))))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) 3) (pow.f64 (*.f64 1/3 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re))) (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 3) 1) (+.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) (+.f64 1 (+.f64 (sin.f64 re) 1))))
(sin.f64 re)
(/.f64 (-.f64 0 (pow.f64 (sin.f64 re) 2)) (-.f64 0 (sin.f64 re)))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (*.f64 (*.f64 1/3 (sin.f64 re)) (*.f64 1/3 (sin.f64 re)))) (-.f64 (*.f64 2 (*.f64 1/3 (sin.f64 re))) (*.f64 1/3 (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 (sin.f64 re) 1) (+.f64 (sin.f64 re) 1)) 1) (+.f64 (+.f64 (sin.f64 re) 1) 1))
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 2) 1/2)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(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)) 2))) (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) 2))
(sin.f64 re)
(fabs.f64 (sin.f64 re))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(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))) 3))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 re) 3)) 1/3))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 re))) 2))
(sin.f64 re)
(+.f64 (expm1.f64 (sin.f64 re)) 1)
(sin.f64 re)
(+.f64 1 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) -1)
(sin.f64 re)
(+.f64 0 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (sin.f64 re)))) 2)) (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)) 1) 1)
(sin.f64 re)
(*.f64 (exp.f64 (sin.f64 re)) 1)
(sin.f64 re)
(*.f64 (exp.f64 (sin.f64 re)) (log.f64 (E.f64)))
(sin.f64 re)
(*.f64 1 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))
(sin.f64 re)
(*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (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) 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4))) (*.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))) (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/6) (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (*.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/4) (sqrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (sin.f64 re)))) (pow.f64 (E.f64) (*.f64 1/3 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))) (pow.f64 (E.f64) (*.f64 1/2 (sin.f64 re))))
(sin.f64 re)
(*.f64 (pow.f64 1 1/3) (exp.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2) 1/3) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (exp.f64 (sin.f64 re)))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)) 2)) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 5/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (pow.f64 (sin.f64 re) 1/6) (cbrt.f64 (pow.f64 (sin.f64 re) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (pow.f64 (exp.f64 (sin.f64 re)) 1/4)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(sin.f64 re)
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3/2)) (pow.f64 (exp.f64 (sin.f64 re)) 1/4))
(*.f64 (pow.f64 (sin.f64 re) 1/4) (sqrt.f64 (pow.f64 (sin.f64 re) 3/2)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 5)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (sin.f64 re) 1/6)))
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 4)))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (cbrt.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))))) (cbrt.f64 (cbrt.f64 (exp.f64 (sin.f64 re)))))
(sin.f64 re)
(*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2))) (pow.f64 (exp.f64 (sin.f64 re)) 1/6)) (pow.f64 (exp.f64 (sin.f64 re)) 1/6))
(sin.f64 re)
(/.f64 (pow.f64 (E.f64) (+.f64 (sin.f64 re) 1)) (E.f64))
(sin.f64 re)
(/.f64 (exp.f64 (+.f64 (sin.f64 re) 1)) (E.f64))
(sin.f64 re)
(/.f64 (+.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 3)) (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (sin.f64 re)) 2) (expm1.f64 (sin.f64 re)))))
(sin.f64 re)
(/.f64 (-.f64 (pow.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) (+.f64 1 (+.f64 (exp.f64 (sin.f64 re)) 1))))
(sin.f64 re)
(/.f64 (-.f64 1 (pow.f64 (expm1.f64 (sin.f64 re)) 2)) (-.f64 1 (expm1.f64 (sin.f64 re))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) (+.f64 (exp.f64 (sin.f64 re)) 1)) 1) (+.f64 (+.f64 (exp.f64 (sin.f64 re)) 1) 1))
(sin.f64 re)
(pow.f64 (exp.f64 (sin.f64 re)) 1)
(sin.f64 re)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 re))) 3)
(sin.f64 re)
(pow.f64 (exp.f64 (*.f64 (sin.f64 re) 2)) 1/2)
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 3) 1/3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) 2)
(sin.f64 re)
(pow.f64 (E.f64) (sin.f64 re))
(sin.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (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)) 2))
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 re))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 re))))
(sin.f64 re)
(pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (pow.f64 (sin.f64 re) 1/6)) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (cbrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/6))
(pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 1/4)) (pow.f64 (sin.f64 re) 1/4))
(sin.f64 re)
(sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) 2)))
(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)) 3))
(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)

eval67.0ms (2.1%)

Compiler

Compiled 4561 to 2200 computations (51.8% saved)

prune35.0ms (1.1%)

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 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.6%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
63.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 88 to 56 computations (36.4% saved)

regimes23.0ms (0.7%)

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

6 calls:

4.0ms
(*.f64 1/2 (sin.f64 re))
4.0ms
im
4.0ms
(sin.f64 re)
4.0ms
re
3.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 39 to 30 computations (23.1% saved)

regimes5.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

3.0ms
im
2.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
10×*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 25 to 19 computations (24% saved)

soundness392.0ms (12.2%)

Rules
1978×fma-neg
1450×fma-define
528×times-frac
430×distribute-lft-neg-in
340×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
Compiler

Compiled 99 to 60 computations (39.4% saved)

end0.0ms (0%)

preprocess48.0ms (1.5%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 230 to 168 computations (27% saved)

Profiling

Loading profile data...