Details

Time bar (total: 12.7s)

analyze3.0ms (0%)

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
75%75%25%0%0%0%0%4
87.5%87.5%12.5%0%0%0%0%5
93.8%93.7%6.2%0%0%0%0%6
96.9%96.8%3.1%0%0%0%0%7
98.4%98.4%1.6%0%0%0%0%8
99.2%99.2%0.8%0%0%0%0%9
99.6%99.6%0.4%0%0%0%0%10
99.8%99.8%0.2%0%0%0%0%11
99.9%99.9%0.1%0%0%0%0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample5.6s (44.1%)

Results
3.8s235×body2048valid
1.1s4915×body256valid
463.0ms2089×body1024valid
150.0ms1017×body512valid
Bogosity

preprocess4.0ms (0%)

Algorithm
egg-herbie
Rules
rational.json-simplify-17
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11021
21221
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Outputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational.json-simplify-17
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11021
21221
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Outputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))

eval0.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
31.2b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
31.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 8 to 6 computations (25% saved)

localize53.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
1.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 19 to 12 computations (36.8% saved)

series5.0ms (0%)

Counts
3 → 7
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
1.0ms
x
@-inf
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
0.0ms
x
@0
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
0.0ms
x
@-inf
(cbrt.f64 x)
0.0ms
x
@inf
(cbrt.f64 x)

rewrite182.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1540×rational.json-simplify-35
1352×bool.json-1
1352×bool.json-2
1304×rational.json-1
1304×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0937
19437
226937
354437
4109737
5240937
6509637
Stop Event
node limit
Counts
3 → 82
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(cbrt.f64 x)
(cbrt.f64 (+.f64 x 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (-.f64 1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (cbrt.f64 x) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x or (cbrt.f64 x) (cbrt.f64 x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))))

simplify243.0ms (1.9%)

Algorithm
egg-herbie
Rules
2288×rational.json-simplify-2
2022×rational.json-simplify-42
1962×rational.json-simplify-35
1628×rational.json-simplify-1
1198×rational.json-simplify-52
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01601445
13251285
28631285
319331285
437861285
552871285
660051285
762701285
864751285
966881285
1066881285
Stop Event
node limit
Counts
89 → 97
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x))))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)
(+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
(+.f64 (-.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (-.f64 1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(*.f64 1/2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 x) 2)))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 2)
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) 2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 x) 0)
(+.f64 0 (cbrt.f64 x))
(+.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 x) 1/2))
(-.f64 (cbrt.f64 x) 0)
(*.f64 1 (cbrt.f64 x))
(*.f64 (cbrt.f64 x) 1)
(*.f64 2 (*.f64 (cbrt.f64 x) 1/2))
(*.f64 (*.f64 (cbrt.f64 x) 2) 1/2)
(*.f64 4 (/.f64 (cbrt.f64 x) 4))
(*.f64 (*.f64 (cbrt.f64 x) 4) 1/4)
(*.f64 1/2 (*.f64 (cbrt.f64 x) 2))
(*.f64 1/4 (*.f64 (cbrt.f64 x) 4))
(*.f64 (*.f64 (cbrt.f64 x) 1/2) 2)
(*.f64 (/.f64 (cbrt.f64 x) 4) 4)
(/.f64 (cbrt.f64 x) 1)
(/.f64 (*.f64 (cbrt.f64 x) 2) 2)
(/.f64 (*.f64 (cbrt.f64 x) 4) 4)
(/.f64 (*.f64 (cbrt.f64 x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)
(+.f64 (cbrt.f64 (+.f64 x 1)) 0)
(+.f64 0 (cbrt.f64 (+.f64 x 1)))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(-.f64 (cbrt.f64 (+.f64 x 1)) 0)
(*.f64 1 (cbrt.f64 (+.f64 x 1)))
(*.f64 (cbrt.f64 (+.f64 x 1)) 1)
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)
(*.f64 1/2 (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)
(*.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(/.f64 (cbrt.f64 (+.f64 x 1)) 1)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
(+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x))))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/3 x) (*.f64 5/81 (pow.f64 x 3))) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 5/81 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (*.f64 5/81 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (-.f64 1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/2 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 x) 2)))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 2)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) -4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) 2)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) -8)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) 4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (*.f64 2 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) 8)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(+.f64 0 (cbrt.f64 x))
(cbrt.f64 x)
(+.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 x) 1/2))
(cbrt.f64 x)
(-.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 1 (cbrt.f64 x))
(cbrt.f64 x)
(*.f64 (cbrt.f64 x) 1)
(cbrt.f64 x)
(*.f64 2 (*.f64 (cbrt.f64 x) 1/2))
(cbrt.f64 x)
(*.f64 (*.f64 (cbrt.f64 x) 2) 1/2)
(cbrt.f64 x)
(*.f64 4 (/.f64 (cbrt.f64 x) 4))
(cbrt.f64 x)
(*.f64 (*.f64 (cbrt.f64 x) 4) 1/4)
(cbrt.f64 x)
(*.f64 1/2 (*.f64 (cbrt.f64 x) 2))
(cbrt.f64 x)
(*.f64 1/4 (*.f64 (cbrt.f64 x) 4))
(cbrt.f64 x)
(*.f64 (*.f64 (cbrt.f64 x) 1/2) 2)
(cbrt.f64 x)
(*.f64 (/.f64 (cbrt.f64 x) 4) 4)
(cbrt.f64 x)
(/.f64 (cbrt.f64 x) 1)
(cbrt.f64 x)
(/.f64 (*.f64 (cbrt.f64 x) 2) 2)
(cbrt.f64 x)
(/.f64 (*.f64 (cbrt.f64 x) 4) 4)
(cbrt.f64 x)
(/.f64 (*.f64 (cbrt.f64 x) 8) 8)
(cbrt.f64 x)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 x) 8)) 16)
(cbrt.f64 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) 32)
(cbrt.f64 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)
(cbrt.f64 x)
(+.f64 (cbrt.f64 (+.f64 x 1)) 0)
(cbrt.f64 (+.f64 1 x))
(+.f64 0 (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (+.f64 1 x))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (+.f64 1 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) 0)
(cbrt.f64 (+.f64 1 x))
(*.f64 1 (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (+.f64 x 1)) 1)
(cbrt.f64 (+.f64 1 x))
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (+.f64 1 x))
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))
(cbrt.f64 (+.f64 1 x))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 1/2)
(cbrt.f64 (+.f64 1 x))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)
(cbrt.f64 (+.f64 1 x))
(*.f64 1/2 (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(cbrt.f64 (+.f64 1 x))
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))
(cbrt.f64 (+.f64 1 x))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)
(cbrt.f64 (+.f64 1 x))
(*.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(cbrt.f64 (+.f64 1 x))
(/.f64 (cbrt.f64 (+.f64 x 1)) 1)
(cbrt.f64 (+.f64 1 x))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) 2)
(cbrt.f64 (+.f64 1 x))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(cbrt.f64 (+.f64 1 x))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)
(cbrt.f64 (+.f64 1 x))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)
(cbrt.f64 (+.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)
(cbrt.f64 (+.f64 1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)
(cbrt.f64 (+.f64 1 x))

eval61.0ms (0.5%)

Compiler

Compiled 1159 to 842 computations (27.4% saved)

prune12.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New93497
Fresh000
Picked011
Done000
Total93598
Error
30.6b
Counts
98 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
33.2b
(-.f64 (+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x))
31.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
31.2b
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
33.5b
1
61.6b
0
Compiler

Compiled 41 to 34 computations (17.1% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
1.0b
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
1.3b
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
Compiler

Compiled 54 to 38 computations (29.6% saved)

series2.0ms (0%)

Counts
2 → 6
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
1.0ms
x
@inf
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
0.0ms
x
@-inf
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
0.0ms
x
@0
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
0.0ms
x
@-inf
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))

rewrite133.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2048×bool.json-1
1130×bool.json-2
1098×rational.json-1
1098×rational.json-2
1098×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01460
114360
236558
372954
4153254
5354654
6766154
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))))))))

simplify220.0ms (1.7%)

Algorithm
egg-herbie
Rules
2780×rational.json-simplify-45
1844×rational.json-simplify-35
1606×rational.json-simplify-1
1038×rational.json-simplify-2
736×rational.json-simplify-48
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01061416
12091416
25271416
312931416
425681416
534701284
644561284
747621284
850181284
952421284
1054381284
1156231284
Stop Event
node limit
Counts
56 → 61
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 -1/3 x) 1)
0
1
(+.f64 1 (*.f64 1/3 x))
0
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 0)
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(+.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (neg.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(+.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(*.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)
(*.f64 -1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 1/2)
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2))
(*.f64 1/2 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))
(*.f64 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 2)
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2)
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8) 8)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))) 4)
(neg.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 0)
(*.f64 1 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))))
(*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)
(*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))
(*.f64 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)
(/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 2)
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8))) 32)
Outputs
-1
(-.f64 (*.f64 -1/3 x) 1)
(+.f64 (*.f64 -1/3 x) -1)
(+.f64 -1 (*.f64 -1/3 x))
0
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 1 (*.f64 x 1/3))
0
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 0)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 (neg.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(+.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 -1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 1/2)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 1/4)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/2 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2)))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 2) 2)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) 4)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8) 8)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) -4)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) 16)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 8))) 32)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (neg.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))) 4)
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(neg.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))
(-.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 0)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 1 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 1/2)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 4 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 1/4)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 1/2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1/2) 2)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(*.f64 (/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 1)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 2) 2)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 4) 4)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8) 8)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) 16)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8)) (*.f64 2 (*.f64 (+.f64 -2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x)))) 8))) 32)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 -2 (-.f64 2 (cbrt.f64 x))))

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x))
0.2b
(*.f64 -1/9 (pow.f64 x 2))
0.3b
(*.f64 1/3 x)
0.6b
(cbrt.f64 x)
Compiler

Compiled 49 to 37 computations (24.5% saved)

series3.0ms (0%)

Counts
3 → 8
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 1/3 x)
0.0ms
x
@0
(*.f64 -1/9 (pow.f64 x 2))
0.0ms
x
@inf
(-.f64 (+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x))
0.0ms
x
@inf
(*.f64 -1/9 (pow.f64 x 2))
0.0ms
x
@0
(*.f64 1/3 x)

rewrite109.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1980×bool.json-1
1216×bool.json-2
1206×rational.json-simplify-35
1168×rational.json-1
1168×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01561
115461
240161
384361
4194361
5437861
6769361
Stop Event
node limit
Counts
3 → 65
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 -1/9 (pow.f64 x 2))
(-.f64 (+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/6) (*.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) (*.f64 2 (*.f64 2 (*.f64 x 4/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/3 x) (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/3 x) (*.f64 1/3 x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/9 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2) -1/18) (*.f64 (pow.f64 x 2) -1/18))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/9 (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) -2/9) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) -4/9) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/9 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/9 (pow.f64 x 2)) (*.f64 -1/9 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/9 (pow.f64 x 2)) (*.f64 -1/9 (pow.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 x) 1) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) (neg.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))) (*.f64 -1/9 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1) (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (-.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))) (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (+.f64 2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) (*.f64 2 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))))))

simplify572.0ms (4.5%)

Algorithm
egg-herbie
Rules
2106×rational.json-simplify-35
1634×rational.json-simplify-42
1458×rational.json-simplify-2
1436×rational.json-simplify-1
1150×rational.json-simplify-45
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01412215
12852215
26282209
315062209
425372209
532752209
636702209
741202209
847122209
952302209
1056582209
1158022209
1260232209
1362762209
1463102209
1575692209
Stop Event
node limit
Counts
73 → 78
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x)))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) 0)
(+.f64 0 (*.f64 1/3 x))
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6))
(-.f64 (*.f64 1/3 x) 0)
(/.f64 (*.f64 1/3 x) 1)
(/.f64 (*.f64 x 2/3) 2)
(/.f64 (*.f64 x 4/3) 4)
(/.f64 (*.f64 2 (*.f64 x 4/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) (*.f64 2 (*.f64 2 (*.f64 x 4/3)))) 32)
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)
(+.f64 0 (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 (pow.f64 x 2) -1/18) (*.f64 (pow.f64 x 2) -1/18))
(-.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)
(/.f64 (*.f64 -1/9 (pow.f64 x 2)) 1)
(/.f64 (*.f64 (pow.f64 x 2) -2/9) 2)
(/.f64 (*.f64 (pow.f64 x 2) -4/9) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)))) 32)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))))
(+.f64 1 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))))
(+.f64 (+.f64 (*.f64 1/3 x) 1) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 0)
(+.f64 0 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))
(+.f64 -1 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(+.f64 (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1) (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (-.f64 1 (cbrt.f64 x)))
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
(+.f64 (-.f64 1 (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) 1))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))) (*.f64 1/3 x))
(+.f64 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))) 1)
(+.f64 (neg.f64 (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)))
(+.f64 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(+.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))
(*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))
(*.f64 2 (-.f64 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))
(*.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))
(*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)
(*.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))
(*.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))))
(*.f64 1/2 (-.f64 (+.f64 2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) (*.f64 2 (cbrt.f64 x))))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)
(/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 2)
(/.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)
(/.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))))) 4)
(neg.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
Outputs
1
(+.f64 1 (*.f64 1/3 x))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x)))
(+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x)))
(+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(+.f64 0 (*.f64 1/3 x))
(*.f64 1/3 x)
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6))
(*.f64 1/3 x)
(-.f64 (*.f64 1/3 x) 0)
(*.f64 1/3 x)
(/.f64 (*.f64 1/3 x) 1)
(*.f64 1/3 x)
(/.f64 (*.f64 x 2/3) 2)
(*.f64 1/3 x)
(/.f64 (*.f64 x 4/3) 4)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 x 4/3)) 8)
(*.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) 16)
(*.f64 1/3 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x 4/3))) (*.f64 2 (*.f64 2 (*.f64 x 4/3)))) 32)
(*.f64 1/3 x)
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 0 (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 (pow.f64 x 2) -1/18) (*.f64 (pow.f64 x 2) -1/18))
(*.f64 -1/9 (pow.f64 x 2))
(-.f64 (*.f64 -1/9 (pow.f64 x 2)) 0)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (*.f64 -1/9 (pow.f64 x 2)) 1)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) -2/9) 2)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) -4/9) 4)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)) 8)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) 16)
(*.f64 -1/9 (pow.f64 x 2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 2) -4/9)))) 32)
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 1 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) 1) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 0)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 0 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 -1 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (-.f64 1 (cbrt.f64 x))) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1) (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (-.f64 1 (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (-.f64 1 (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 (*.f64 1/3 x) 1))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))) 1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (neg.f64 (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (-.f64 2 (-.f64 (cbrt.f64 x) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 2 (-.f64 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) 1)) 1/2) (*.f64 (cbrt.f64 x) 1/2)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 1 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 1/2)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 1/4)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 1/2 (-.f64 (+.f64 2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) (*.f64 2 (cbrt.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) (-.f64 2 (*.f64 2 (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 2 (-.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) (*.f64 2 (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 2 (*.f64 2 (-.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (*.f64 1/3 x) (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1/2) 2)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(*.f64 (/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))) 2)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))) -1)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4) 4)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))) -2)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)) 8)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) -4)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) 16)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) 2)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x)))) 4)))) 32)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (neg.f64 (*.f64 2 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))))) 4)
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))
(neg.f64 (+.f64 (cbrt.f64 x) (-.f64 -1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (-.f64 1 (cbrt.f64 x))))
(+.f64 (-.f64 (*.f64 -1/9 (pow.f64 x 2)) (cbrt.f64 x)) (+.f64 1 (*.f64 1/3 x)))

eval666.0ms (5.2%)

Compiler

Compiled 3612 to 2860 computations (20.8% saved)

prune189.0ms (1.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2103213
Fresh022
Picked101
Done022
Total2117218
Error
30.6b
Counts
218 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
31.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
33.2b
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
62.7b
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
31.2b
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
31.2b
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
33.5b
1
61.6b
0
Compiler

Compiled 63 to 52 computations (17.5% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
1.3b
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
10.8b
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
Compiler

Compiled 35 to 24 computations (31.4% saved)

series2.0ms (0%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
0.0ms
x
@-inf
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
0.0ms
x
@0
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
0.0ms
x
@inf
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
0.0ms
x
@-inf
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))

rewrite89.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1526×bool.json-1
1526×bool.json-2
1484×rational.json-1
1484×rational.json-2
1484×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
113350
234750
369750
4148950
5312650
6582350
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 2 (cbrt.f64 x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 2 (cbrt.f64 x)) -2) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 2 (cbrt.f64 x)) -2) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 -2 (cbrt.f64 (+.f64 x 1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))))))))

simplify1.0s (8%)

Algorithm
egg-herbie
Rules
2946×rational.json-simplify-35
2774×rational.json-simplify-2
2724×rational.json-simplify-51
1526×rational.json-simplify-49
1390×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0901081
11691081
24501081
311701081
423071081
529941081
630861081
731481081
832001081
932481081
1032961081
1133441081
1233921081
1334401081
1434881081
1535361081
1635841081
1736321081
1836801081
1946501081
2063811081
2164721081
2265261081
2365261081
2475131081
2575251081
2675771081
2776291081
2876811081
2977331081
3077851081
3178371081
3278891081
3379411081
3479931081
Stop Event
node limit
Counts
43 → 47
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 0)
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 1/2)
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) 2)
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8))) 32)
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 0)
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2))
(*.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2)))
(*.f64 2 (+.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 -2 (cbrt.f64 (+.f64 x 1))) 2)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 1/2)
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8))) 32)
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 0)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2))
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 1/2)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 1/4)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8) 8)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) 16)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 8))) 32)
(+.f64 (-.f64 2 (cbrt.f64 x)) -2)
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 0)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 2 (+.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) -2) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 -2 (cbrt.f64 (+.f64 x 1))) 2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 -2 (cbrt.f64 (+.f64 1 x))) 2)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 1/2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 1/4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) -2)) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1/2) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1))))) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8) 8)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) 16)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 x 1)))) 8))) 32)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 -2 (cbrt.f64 (+.f64 1 x))))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))

localize66.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
0.2b
(*.f64 -1/9 (pow.f64 x 2))
0.3b
(*.f64 1/3 x)
Compiler

Compiled 25 to 19 computations (24% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
0.0ms
x
@-inf
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
0.0ms
x
@0
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))

rewrite101.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1718×bool.json-1
1718×bool.json-2
1658×rational.json-1
1222×rational.json-simplify-35
1092×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
19825
224325
347425
498125
5214025
6437025
7695725
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 2) -1/18)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 2) -2/9) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))))

simplify970.0ms (7.6%)

Algorithm
egg-herbie
Rules
5884×rational.json-simplify-51
1984×rational.json-simplify-35
1698×rational.json-simplify-2
1132×rational.json-simplify-1
1106×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058764
1110764
2273764
3694764
41109764
52438764
63203764
73251764
83281764
93307764
103333764
113359764
123408764
133434764
143460764
153486764
163512764
173538764
183564764
194374764
204748764
214780764
224810764
234839764
244868764
254897764
264926764
274955764
284984764
295013764
305042764
315071764
325100764
335129764
345158764
355187764
365216764
375245764
385274764
395303764
405303764
Stop Event
node limit
Counts
32 → 24
Calls
Call 1
Inputs
(*.f64 1/3 x)
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(-.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 0)
(*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 2) -1/18)))
(*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)
(*.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 2) -2/9) (*.f64 x 2/3)))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)
(/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)))) 64)
Outputs
(*.f64 1/3 x)
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 -1/9 (pow.f64 x 2))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(-.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 0)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 2 (+.f64 (*.f64 x 1/6) (*.f64 (pow.f64 x 2) -1/18)))
(*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 1/2)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 4 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 1/4)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 2) -2/9) (*.f64 x 2/3)))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1/2) 2)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4))
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(*.f64 (/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 1)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (*.f64 2 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))) 2)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 4) 4)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8) 8)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)) 16)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) 32)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))) 8)))) 64)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
0.2b
(*.f64 -1/9 (pow.f64 x 2))
0.3b
(*.f64 1/3 x)
0.6b
(cbrt.f64 x)
Compiler

Compiled 46 to 33 computations (28.3% saved)

series1.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
0.0ms
x
@-inf
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
0.0ms
x
@inf
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))

rewrite94.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1346×bool.json-1
1346×bool.json-2
1290×rational.json-1
1290×rational.json-2
1290×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
17817
221217
344217
491217
5200217
6453817
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 x)) (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (cbrt.f64 x)) (*.f64 1/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (-.f64 (cbrt.f64 x) (*.f64 1/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 1/3 x) 4) (/.f64 (cbrt.f64 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x 4/3) (*.f64 (cbrt.f64 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 x 2/3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 1/3 x) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))))))

simplify309.0ms (2.4%)

Algorithm
egg-herbie
Rules
1904×rational.json-simplify-35
1542×rational.json-simplify-52
1200×rational.json-simplify-45
1122×rational.json-simplify-2
1014×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
091892
1184892
2354892
3942892
42029780
52803780
63768780
75117780
85836780
96479780
Stop Event
node limit
Counts
40 → 40
Calls
Call 1
Inputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 0)
(+.f64 0 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(+.f64 (neg.f64 (cbrt.f64 x)) (*.f64 1/3 x))
(+.f64 -1 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1))
(+.f64 -1 (+.f64 (-.f64 1 (cbrt.f64 x)) (*.f64 1/3 x)))
(+.f64 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1) -1)
(+.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))
(+.f64 -2 (-.f64 2 (-.f64 (cbrt.f64 x) (*.f64 1/3 x))))
(*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)
(*.f64 1 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(*.f64 2 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))
(*.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 1/2)
(*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 1/3 x) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 1/4)
(*.f64 -1 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))
(*.f64 1/2 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)))
(*.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))
(*.f64 1/4 (-.f64 (*.f64 x 4/3) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)
(/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)
(/.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 2)
(/.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)
(/.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)
(/.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8) 8)
(/.f64 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 x 2/3)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)) 16)
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) -8)
(/.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)))) 64)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4))) 8)
(neg.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))
Outputs
(*.f64 1/3 x)
(*.f64 1/3 x)
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 0)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 0 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 (neg.f64 (cbrt.f64 x)) (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 -1 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 -1 (+.f64 (-.f64 1 (cbrt.f64 x)) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 (+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1) -1)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(+.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))
(+.f64 -2 (-.f64 2 (-.f64 (cbrt.f64 x) (*.f64 1/3 x))))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 1 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 2 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)))
(*.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) 2)
(*.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 1/2)
(*.f64 1/2 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)))
(*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 4 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 4 (-.f64 (/.f64 (*.f64 1/3 x) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 4 (-.f64 (*.f64 x 1/12) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 1/4)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 -1 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 1/2 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)))
(*.f64 (-.f64 (*.f64 x 1/6) (*.f64 (cbrt.f64 x) 1/2)) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(*.f64 1/4 (-.f64 (*.f64 x 4/3) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 1)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (-.f64 (*.f64 x 2/3) (*.f64 (cbrt.f64 x) 2)) 2)
(/.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) -1)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 4) 4)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8) 8)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (-.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 x 2/3)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)) 16)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4) -4)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) 32)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) -8)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) 4)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) 8)))) 64)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4)) (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)) 4))) 8)
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))
(neg.f64 (-.f64 (cbrt.f64 x) (*.f64 1/3 x)))
(+.f64 (*.f64 1/3 x) (neg.f64 (cbrt.f64 x)))
(-.f64 (*.f64 1/3 x) (cbrt.f64 x))

eval316.0ms (2.5%)

Compiler

Compiled 3616 to 2863 computations (20.8% saved)

prune30.0ms (0.2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2252227
Fresh022
Picked011
Done314
Total2286234
Error
30.6b
Counts
234 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
31.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
33.2b
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
31.9b
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
62.1b
(*.f64 1/3 x)
33.5b
1
61.6b
0
Compiler

Compiled 43 to 35 computations (18.6% saved)

localize3.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/3 x)
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 1 x))
0.6b
(cbrt.f64 x)
1.0b
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
6.9b
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x)))
Compiler

Compiled 38 to 26 computations (31.6% saved)

series367.0ms (2.9%)

Counts
3 → 14
Calls

9 calls:

TimeVariablePointExpression
365.0ms
x
@inf
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x)))
1.0ms
x
@inf
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
0.0ms
x
@-inf
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x)))
0.0ms
x
@-inf
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
0.0ms
x
@0
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x)))

rewrite155.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1532×bool.json-1
1532×bool.json-2
1490×rational.json-1
1490×rational.json-2
1490×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01371
113571
235671
370371
4149571
5314071
6584871
Stop Event
node limit
Counts
3 → 60
Calls
Call 1
Inputs
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x)))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(cbrt.f64 (+.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (-.f64 2 (cbrt.f64 x))) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))))))

simplify715.0ms (5.6%)

Algorithm
egg-herbie
Rules
4004×rational.json-simplify-51
3570×rational.json-simplify-2
2302×rational.json-simplify-35
1782×rational.json-simplify-1
958×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01271560
12371560
26471560
314491560
428461560
532111560
632981560
733801560
834351560
934871560
1040111560
1140951560
1241531560
1342051560
1442571560
1543091560
1643611560
1744131560
1844651560
1945171560
2067981560
2168101560
2268101560
2368621560
2469141560
2569661560
2670181560
Stop Event
node limit
Counts
74 → 79
Calls
Call 1
Inputs
3
(+.f64 3 (*.f64 1/3 x))
2
2
2
2
2
1
(+.f64 1 (*.f64 1/3 x))
0
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x))))
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 0)
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2))
(*.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))))
(*.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 (*.f64 2 (-.f64 2 (cbrt.f64 x))) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8))) 32)
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 0)
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) 2)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 1/2)
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8))) 32)
(+.f64 (cbrt.f64 (+.f64 x 1)) 0)
(+.f64 0 (cbrt.f64 (+.f64 x 1)))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(-.f64 (cbrt.f64 (+.f64 x 1)) 0)
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(*.f64 1 (cbrt.f64 (+.f64 x 1)))
(*.f64 (cbrt.f64 (+.f64 x 1)) 1)
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))
(*.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 1/2)
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x 1))))
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)
(*.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(/.f64 (cbrt.f64 (+.f64 x 1)) 1)
(/.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 2)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)
Outputs
3
(+.f64 3 (*.f64 1/3 x))
2
2
2
2
2
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) 1)
0
1
(+.f64 1 (*.f64 1/3 x))
(+.f64 (*.f64 1/3 x) 1)
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (+.f64 (*.f64 1/3 x) 1) (*.f64 -1/9 (pow.f64 x 2)))
(+.f64 (*.f64 1/3 x) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
(+.f64 (*.f64 1/3 x) (+.f64 1 (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x))))
(+.f64 1 (+.f64 (+.f64 (*.f64 1/3 x) (*.f64 5/81 (pow.f64 x 3))) (*.f64 -1/9 (pow.f64 x 2))))
(+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) (*.f64 5/81 (pow.f64 x 3)))))
(+.f64 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 (*.f64 1/3 x) (+.f64 1 (*.f64 5/81 (pow.f64 x 3)))))
(+.f64 (*.f64 1/3 x) (+.f64 1 (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 5/81 (pow.f64 x 3)))))
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 0)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 1/2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 1/4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/2 (+.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/2 (+.f64 (*.f64 2 (-.f64 2 (cbrt.f64 x))) (*.f64 2 (cbrt.f64 (+.f64 x 1)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1/2) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8) 8)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) 16)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1))) 8))) 32)
(+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(-.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 0)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 2 (+.f64 (*.f64 (-.f64 2 (cbrt.f64 x)) 1/2) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) 2)))
(*.f64 1 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 4 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 1/2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 1/4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 1/2 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) (*.f64 2 (-.f64 2 (cbrt.f64 x)))))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4))
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1/2) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(*.f64 (/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 1)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (*.f64 2 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))) 2)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 4) 4)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8) 8)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) 16)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2)) 8))) 32)
(+.f64 (-.f64 2 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -2))
(+.f64 (cbrt.f64 (+.f64 x 1)) 0)
(cbrt.f64 (+.f64 x 1))
(+.f64 0 (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (+.f64 x 1))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (+.f64 x 1))
(-.f64 (cbrt.f64 (+.f64 x 1)) 0)
(cbrt.f64 (+.f64 x 1))
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (+.f64 x 1))
(*.f64 1 (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (+.f64 x 1))
(*.f64 (cbrt.f64 (+.f64 x 1)) 1)
(cbrt.f64 (+.f64 x 1))
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x 1)) 4))
(cbrt.f64 (+.f64 x 1))
(*.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 1/2)
(cbrt.f64 (+.f64 x 1))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 1/4)
(cbrt.f64 (+.f64 x 1))
(*.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x 1))))
(cbrt.f64 (+.f64 x 1))
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x 1)) 4))
(cbrt.f64 (+.f64 x 1))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) 2)
(cbrt.f64 (+.f64 x 1))
(*.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(cbrt.f64 (+.f64 x 1))
(/.f64 (cbrt.f64 (+.f64 x 1)) 1)
(cbrt.f64 (+.f64 x 1))
(/.f64 (*.f64 2 (cbrt.f64 (+.f64 x 1))) 2)
(cbrt.f64 (+.f64 x 1))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) 4)
(cbrt.f64 (+.f64 x 1))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 8)
(cbrt.f64 (+.f64 x 1))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) 16)
(cbrt.f64 (+.f64 x 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))) 32)
(cbrt.f64 (+.f64 x 1))

eval249.0ms (2%)

Compiler

Compiled 1600 to 1277 computations (20.2% saved)

prune15.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1120112
Fresh022
Picked011
Done033
Total1126118
Error
30.6b
Counts
118 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
31.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
33.2b
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
31.9b
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
62.1b
(*.f64 1/3 x)
33.5b
1
61.6b
0
Compiler

Compiled 43 to 35 computations (18.6% saved)

regimes30.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
0
1
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 -2 (+.f64 (-.f64 2 (cbrt.f64 x)) (cbrt.f64 (+.f64 1 x))))
(+.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 (-.f64 2 (cbrt.f64 x)) -2))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)))
(+.f64 (-.f64 (*.f64 1/3 x) (cbrt.f64 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) 1))
(-.f64 (+.f64 (+.f64 1 (*.f64 1/3 x)) (*.f64 -1/9 (pow.f64 x 2))) (cbrt.f64 x))
Outputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Calls

2 calls:

22.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
6.0ms
x
Results
ErrorSegmentsBranch
31.2b1x
31.2b1(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 95 to 70 computations (26.3% saved)

regimes6.0ms (0%)

Accuracy

Total -29.5b remaining (-88%)

Threshold costs -29.5b (-88%)

Counts
4 → 1
Calls
Call 1
Inputs
0
1
(*.f64 1/3 x)
(+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))
Outputs
1
Calls

1 calls:

5.0ms
x
Results
ErrorSegmentsBranch
33.5b1x
Compiler

Compiled 17 to 13 computations (23.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
1
0
Outputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
1
0
Compiler

Compiled 12 to 10 computations (16.7% saved)

soundness0.0ms (0%)

end19.0ms (0.2%)

Compiler

Compiled 10 to 8 computations (20% saved)

Profiling

Loading profile data...