Details

Time bar (total: 2.2s)

analyze3.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
66.7%50%25%0%25%0%0%4
83.3%62.5%12.5%0%25%0%0%5
90.9%62.5%6.2%0%31.2%0%0%6
95.5%65.6%3.1%0%31.2%0%0%7
97.7%65.6%1.6%0%32.8%0%0%8
98.8%66.4%0.8%0%32.8%0%0%9
99.4%66.4%0.4%0%33.2%0%0%10
99.7%66.6%0.2%0%33.2%0%0%11
99.9%66.6%0.1%0%33.3%0%0%12
Compiler

Compiled 7 to 4 computations (42.9% saved)

sample558.0ms (25.3%)

Results
547.0ms8256×body256valid
0.0msbody256infinite
Bogosity

preprocess271.0ms (12.3%)

Algorithm
egg-herbie
Rules
3512×sqr-pow
2040×pow-sqr
1156×cube-prod
742×fabs-mul
736×cube-mult
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6497
71117
83327
96867
107667
119037
1210657
1312997
1416127
1520077
1624807
1730197
1836597
1938807
2040767
2142167
2243027
2343607
2452507
2563007
2666027
2768967
2870287
2970387
3070387
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)
Compiler

Compiled 7 to 4 computations (42.9% saved)

simplify267.0ms (12.1%)

Algorithm
egg-herbie
Rules
3512×sqr-pow
2040×pow-sqr
1156×cube-prod
742×fabs-mul
736×cube-mult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6497
71117
83327
96867
107667
119037
1210657
1312997
1416127
1520077
1624807
1730197
1836597
1938807
2040767
2142167
2243027
2343607
2452507
2563007
2666027
2768967
2870287
2970387
3070387
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)

eval1.0ms (0%)

Compiler

Compiled 14 to 6 computations (57.1% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Accurracy
100.0%
Counts
4 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

localize4.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 3 computations (70% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 (*.f64 x x) x)
0.0ms
x
@0
(*.f64 (*.f64 x x) x)
0.0ms
x
@inf
(*.f64 (*.f64 x x) x)

rewrite43.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
850×associate-*l*
838×add-sqr-sqrt
820×*-un-lft-identity
770×pow1
768×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11007
211527
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x 3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 x 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 x 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x 3)))))))

simplify57.0ms (2.6%)

Algorithm
egg-herbie
Rules
1032×fma-def
1012×associate-/l*
878×associate--r+
806×*-commutative
620×associate-+r-
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030161
167161
2242161
31200161
42642161
54976161
Stop Event
node limit
Counts
23 → 11
Calls
Call 1
Inputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(-.f64 (+.f64 (pow.f64 x 3) 1) 1)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3) 1)
(pow.f64 (pow.f64 x 3/2) 2)
(pow.f64 (pow.f64 (pow.f64 x 3) 3) 1/3)
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 (log.f64 x) 3))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
Outputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(-.f64 (+.f64 (pow.f64 x 3) 1) 1)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3) 1)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3/2) 2)
(pow.f64 x 3)
(pow.f64 (pow.f64 (pow.f64 x 3) 3) 1/3)
(pow.f64 x 3)
(sqrt.f64 (pow.f64 x 6))
(pow.f64 x 3)
(log.f64 (exp.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(pow.f64 x 3)
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(exp.f64 (*.f64 (log.f64 x) 3))
(pow.f64 x 3)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(pow.f64 x 3)

localize3.0ms (0.1%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 x 3)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(pow.f64 x 3)
0.0ms
x
@inf
(pow.f64 x 3)
0.0ms
x
@0
(pow.f64 x 3)

rewrite49.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1124×associate-*r*
888×add-sqr-sqrt
864×*-un-lft-identity
820×pow1
820×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11087
211607
Stop Event
node limit
Counts
1 → 40
Calls
Call 1
Inputs
(pow.f64 x 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x 3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 x (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) (*.f64 x x)) (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 3/2) (sqrt.f64 (pow.f64 x 3/2))) (sqrt.f64 (pow.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 x 3/4)) (pow.f64 x 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (sqrt.f64 x) 3/2)) (pow.f64 (sqrt.f64 x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 x (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3/2)) (pow.f64 (cbrt.f64 x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) 1) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (cbrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (pow.f64 (cbrt.f64 x) 2))) (sqrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) 1) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 x 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x 3)))))))

simplify73.0ms (3.3%)

Algorithm
egg-herbie
Rules
924×distribute-lft-in
888×distribute-rgt-in
688×*-commutative
602×+-commutative
596×associate-+l-
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0101742
1254502
21084486
32622478
46773478
Stop Event
node limit
Counts
40 → 58
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 x 3) 1) 1)
(*.f64 x (*.f64 x x))
(*.f64 x (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3))
(*.f64 (pow.f64 x 3) 1)
(*.f64 1 (pow.f64 x 3))
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x x) x)
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 x (cbrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 x))
(*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 x))
(*.f64 (*.f64 (cbrt.f64 x) (*.f64 x x)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)
(*.f64 (*.f64 (pow.f64 x 3/2) (sqrt.f64 (pow.f64 x 3/2))) (sqrt.f64 (pow.f64 x 3/2)))
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 x 3/4)) (pow.f64 x 3/4))
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (sqrt.f64 x) 3/2)) (pow.f64 (sqrt.f64 x) 3/2))
(*.f64 (*.f64 x (*.f64 x (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x))
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3/2)) (pow.f64 (cbrt.f64 x) 3/2))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) 1) (sqrt.f64 x))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (cbrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (pow.f64 (cbrt.f64 x) 2))) (sqrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) 1) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) 1) x)
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 3 (log.f64 x)))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
Outputs
(-.f64 (+.f64 (pow.f64 x 3) 1) 1)
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 x (*.f64 x x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 x (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (pow.f64 x 3) 1)
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 1 (pow.f64 x 3))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 5/2))
(*.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (*.f64 x (cbrt.f64 x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 5/2))
(*.f64 (*.f64 (cbrt.f64 x) (*.f64 x x)) (pow.f64 (cbrt.f64 x) 2))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 x 3/2) (sqrt.f64 (pow.f64 x 3/2))) (sqrt.f64 (pow.f64 x 3/2)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 x 3/4)) (pow.f64 x 3/4))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (sqrt.f64 x) 3/2)) (pow.f64 (sqrt.f64 x) 3/2))
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 5/2))
(*.f64 (*.f64 x (*.f64 x (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 x 3/2) (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3/2)) (pow.f64 (cbrt.f64 x) 3/2))
(*.f64 (pow.f64 x 3/2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3/2) (pow.f64 (cbrt.f64 x) 3/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3/2) (*.f64 (pow.f64 x 3/2) (pow.f64 (cbrt.f64 x) 3/2)))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) 1) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 5/2))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (cbrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 x) (*.f64 x (pow.f64 x 3/2))) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 x 5/2)) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (cbrt.f64 x) (*.f64 (pow.f64 x 5/2) (cbrt.f64 (sqrt.f64 x))))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (pow.f64 (cbrt.f64 x) 2))) (sqrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 x (pow.f64 x 3/2)) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 x) 2)) (sqrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 x 5/2) (*.f64 (fabs.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 x 5/2) (*.f64 (cbrt.f64 x) (sqrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 x 5/2) (pow.f64 (cbrt.f64 x) 3/2))
(*.f64 (*.f64 (*.f64 x (pow.f64 x 3/2)) (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (*.f64 x (pow.f64 x 3/2)))
(*.f64 (sqrt.f64 x) (pow.f64 x 5/2))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) 1) (cbrt.f64 x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (sqrt.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 x (*.f64 x (pow.f64 (cbrt.f64 x) 2))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 4) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) (*.f64 (pow.f64 (cbrt.f64 x) 8) (cbrt.f64 (cbrt.f64 x))))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 (sqrt.f64 x)))
(*.f64 (*.f64 x (*.f64 x (pow.f64 (cbrt.f64 x) 2))) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 4) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x))))
(*.f64 (pow.f64 (cbrt.f64 x) 8) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x))))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) 1) x)
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (sqrt.f64 x)) (sqrt.f64 x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(sqrt.f64 (pow.f64 x 6))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(log.f64 (exp.f64 (pow.f64 x 3)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(exp.f64 (*.f64 3 (log.f64 x)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(+.f64 (pow.f64 x 3) 0)
(pow.f64 x 3)

eval13.0ms (0.6%)

Compiler

Compiled 674 to 368 computations (45.4% saved)

prune8.0ms (0.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New68169
Fresh000
Picked011
Done011
Total68371
Accurracy
100.0%
Counts
71 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
98.8%
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x)))
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 31 to 16 computations (48.4% saved)

localize21.0ms (1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.3%
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
99.3%
(pow.f64 (cbrt.f64 x) 2)
99.1%
(cbrt.f64 (cbrt.f64 x))
99.1%
(cbrt.f64 x)
Compiler

Compiled 66 to 20 computations (69.7% saved)

series62.0ms (2.8%)

Counts
4 → 24
Calls

12 calls:

TimeVariablePointExpression
21.0ms
x
@0
(cbrt.f64 (cbrt.f64 x))
12.0ms
x
@inf
(cbrt.f64 (cbrt.f64 x))
8.0ms
x
@-inf
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
8.0ms
x
@0
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
8.0ms
x
@inf
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))

rewrite60.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1330×add-sqr-sqrt
1310×*-un-lft-identity
1220×add-cube-cbrt
1206×add-cbrt-cube
1194×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0940
117440
2182040
Stop Event
node limit
Counts
4 → 73
Calls
Call 1
Inputs
(cbrt.f64 x)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 x) 1/6)) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x 1/6) 1/3) (pow.f64 (pow.f64 x 1/6) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) 1) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 x) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))))

simplify81.0ms (3.7%)

Algorithm
egg-herbie
Rules
1698×fma-def
802×exp-prod
774×*-commutative
630×associate-*r/
620×sqr-pow
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01462329
12961927
213571525
335171519
472321519
Stop Event
node limit
Counts
97 → 94
Calls
Call 1
Inputs
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(pow.f64 x 1/9)
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(-.f64 (+.f64 1 (cbrt.f64 x)) 1)
(*.f64 (cbrt.f64 x) 1)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))
(*.f64 1 (cbrt.f64 x))
(*.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 x) 1/6)) (pow.f64 (cbrt.f64 x) 1/6))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))
(pow.f64 x 1/3)
(pow.f64 (cbrt.f64 x) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/2)
(pow.f64 (pow.f64 x 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 x) 2))
(fabs.f64 (cbrt.f64 x))
(log.f64 (exp.f64 (cbrt.f64 x)))
(expm1.f64 (log1p.f64 (cbrt.f64 x)))
(exp.f64 (log.f64 (cbrt.f64 x)))
(log1p.f64 (expm1.f64 (cbrt.f64 x)))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 x)) 1)
(*.f64 1 (cbrt.f64 (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 x) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (pow.f64 (pow.f64 x 1/6) 1/3) (pow.f64 (pow.f64 x 1/6) 1/3))
(pow.f64 x 1/9)
(pow.f64 (cbrt.f64 x) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 3)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(fabs.f64 (cbrt.f64 (cbrt.f64 x)))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 x))))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 x))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 x))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 x) 2)) 1)
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(*.f64 1 (pow.f64 (cbrt.f64 x) 2))
(*.f64 (sqrt.f64 x) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) 1) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(sqrt.f64 (*.f64 x (cbrt.f64 x)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))
(cbrt.f64 (*.f64 x x))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 x) 2)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)
(pow.f64 (cbrt.f64 x) 2/3)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 3)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(cbrt.f64 (pow.f64 (cbrt.f64 x) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
Outputs
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 x) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 x) 1/18) (pow.f64 (neg.f64 x) 1/18)) (cbrt.f64 (cbrt.f64 -1)))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(-.f64 (+.f64 1 (cbrt.f64 x)) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (cbrt.f64 x) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 1 (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 x) 1/6)) (pow.f64 (cbrt.f64 x) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))
(pow.f64 (pow.f64 (sqrt.f64 x) 1/6) 4)
(pow.f64 x 1/3)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (pow.f64 x 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(sqrt.f64 (pow.f64 (cbrt.f64 x) 2))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(fabs.f64 (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(log.f64 (exp.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(expm1.f64 (log1p.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(exp.f64 (log.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(log1p.f64 (expm1.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 x))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (cbrt.f64 (cbrt.f64 x)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 1 (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (pow.f64 (cbrt.f64 x) 1/6) (pow.f64 (cbrt.f64 x) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(*.f64 (pow.f64 (pow.f64 x 1/6) 1/3) (pow.f64 (pow.f64 x 1/6) 1/3))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 x 1/9)
(*.f64 (pow.f64 x 1/18) (pow.f64 x 1/18))
(pow.f64 (cbrt.f64 x) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 (pow.f64 (cbrt.f64 x) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(fabs.f64 (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 x)) 1))
(+.f64 (cbrt.f64 (cbrt.f64 x)) 0)
(cbrt.f64 (cbrt.f64 x))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 x) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (pow.f64 (cbrt.f64 x) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 1 (pow.f64 (cbrt.f64 x) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (sqrt.f64 x) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (sqrt.f64 x))
(*.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) 1) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(sqrt.f64 (*.f64 x (cbrt.f64 x)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(cbrt.f64 (*.f64 x x))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 x) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 x) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 x) 2) 0)
(pow.f64 (cbrt.f64 x) 2)
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(pow.f64 (cbrt.f64 x) 2/3)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/3)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 3)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(cbrt.f64 (pow.f64 (cbrt.f64 x) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)

eval61.0ms (2.8%)

Compiler

Compiled 5495 to 2071 computations (62.3% saved)

prune32.0ms (1.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2281229
Fresh000
Picked101
Done022
Total2293232
Accurracy
100.0%
Counts
232 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
98.8%
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 29 to 17 computations (41.4% saved)

localize25.0ms (1.1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.3%
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
99.3%
(pow.f64 (cbrt.f64 x) 2)
99.1%
(cbrt.f64 (cbrt.f64 x))
99.1%
(cbrt.f64 x)
Compiler

Compiled 60 to 25 computations (58.3% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
0.0ms
x
@0
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
0.0ms
x
@inf
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)

rewrite48.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1238×add-sqr-sqrt
1218×*-un-lft-identity
1136×add-cube-cbrt
1122×add-cbrt-cube
1110×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
115415
2166115
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 (cbrt.f64 x) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 1/6) (*.f64 (pow.f64 (cbrt.f64 x) 1/6) (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))))

simplify51.0ms (2.3%)

Algorithm
egg-herbie
Rules
1456×distribute-lft-in
1404×distribute-rgt-in
922×unswap-sqr
814×associate-+r+
768×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055900
1112828
2286756
3861756
42751756
Stop Event
node limit
Counts
28 → 23
Calls
Call 1
Inputs
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (pow.f64 x 1/6) (pow.f64 (cbrt.f64 x) 1/6))
(*.f64 (pow.f64 (cbrt.f64 x) 1/6) (*.f64 (pow.f64 (cbrt.f64 x) 1/6) (cbrt.f64 (cbrt.f64 x))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(cbrt.f64 (pow.f64 (cbrt.f64 x) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
Outputs
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(pow.f64 (pow.f64 x 2) 1/9)
(*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -1) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -1) 2)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) 1)
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 1)
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 (pow.f64 x 1/6) (pow.f64 (cbrt.f64 x) 1/6))
(*.f64 (pow.f64 (cbrt.f64 x) 1/6) (*.f64 (pow.f64 (cbrt.f64 x) 1/6) (cbrt.f64 (cbrt.f64 x))))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 x))))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(cbrt.f64 (pow.f64 (cbrt.f64 x) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 x)))))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(+.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) -1)
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)

eval55.0ms (2.5%)

Compiler

Compiled 4010 to 1869 computations (53.4% saved)

prune24.0ms (1.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1800180
Fresh000
Picked011
Done022
Total1803183
Accurracy
100.0%
Counts
183 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
98.8%
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 29 to 17 computations (41.4% saved)

regimes8.0ms (0.3%)

Accuracy

Total -0.8b remaining (-20781.5%)

Threshold costs -0.8b (-20781.5%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x)))
Outputs
(pow.f64 x 3)
Calls

2 calls:

4.0ms
x
3.0ms
(*.f64 (*.f64 x x) x)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(*.f64 (*.f64 x x) x)
Compiler

Compiled 55 to 24 computations (56.4% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
1820
Stop Event
done
saturated
Calls
Call 1
Inputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
Outputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
Compiler

Compiled 10 to 6 computations (40% saved)

soundness301.0ms (13.6%)

Algorithm
egg-herbie
Rules
3512×sqr-pow
2040×pow-sqr
1156×cube-prod
742×fabs-mul
736×cube-mult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6497
71117
83327
96867
107667
119037
1210657
1312997
1416127
1520077
1624807
1730197
1836597
1938807
2040767
2142167
2243027
2343607
2452507
2563007
2666027
2768967
2870287
2970387
3070387
Stop Event
node limit
Compiler

Compiled 9 to 5 computations (44.4% saved)

end19.0ms (0.8%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

Profiling

Loading profile data...