Details

Time bar (total: 17.0s)

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)

sample6.6s (39.2%)

Results
5.5s4895×body256valid
911.0ms2076×body1024valid
149.0ms1055×body512valid
58.0ms230×body2048valid
Bogosity

preprocess6.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)

simplify9.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
27.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
27.0b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 8 to 6 computations (25% saved)

localize665.0ms (3.9%)

Local error

Found 3 expressions with local error:

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

Compiled 19 to 12 computations (36.8% saved)

series6.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 (+.f64 x 1))

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1516×exponential.json-3
1516×rational.json-1
1516×rational.json-2
1516×rational.json-4
1516×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0937
16637
214537
328237
452637
5117437
6285037
7447137
8660037
Stop Event
node limit
Counts
3 → 123
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 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))))))) (#(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 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))))) (#(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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (-.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -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 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (cbrt.f64 x)) (+.f64 1 (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/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 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))))) (#(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 (-.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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 1/8)))) (#(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 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 -2 (*.f64 (-.f64 (cbrt.f64 x) (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))) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)))) (#(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 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 (+.f64 x 1)) (cbrt.f64 x)) -4) -4)))) (#(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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.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 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(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 +.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 4 (*.f64 (cbrt.f64 x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 2) 1/2)))) (#(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 (*.f64 (cbrt.f64 x) 8) 1/8)))) (#(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) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x x)) (*.f64 (cbrt.f64 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))))
((#(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)) 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 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 1/8)))) (#(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)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (*.f64 (cbrt.f64 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x 1)) 1)))))

simplify236.0ms (1.4%)

Algorithm
egg-herbie
Rules
1936×rational.json-simplify-52
1618×rational.json-simplify-35
1014×rational.json-simplify-2
972×rational.json-simplify-1
936×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02382540
15112540
213691880
332901880
450651880
570991880
Stop Event
node limit
Counts
130 → 141
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 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 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 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))
(+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (-.f64 1 (cbrt.f64 x)))
(+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) 1)
(+.f64 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) -2)
(+.f64 (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 (-.f64 -1 (cbrt.f64 x)) (+.f64 1 (cbrt.f64 (+.f64 x 1))))
(+.f64 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/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 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 -1 (*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(*.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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 1/8)
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1/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 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) -2)
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))) -16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))))) 128)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(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 4 (*.f64 (cbrt.f64 x) 1/4))
(*.f64 (*.f64 (cbrt.f64 x) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 x) 4) 1/4)
(*.f64 1/2 (*.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 (cbrt.f64 x) 8) 1/8)
(*.f64 1/4 (*.f64 (cbrt.f64 x) 4))
(*.f64 (*.f64 (cbrt.f64 x) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 x) 1/4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/2)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (+.f64 x x)) (*.f64 (cbrt.f64 1/2) 1))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 4))
(*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 4)))
(*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))))) 128)
(pow.f64 (cbrt.f64 x) 1)
(+.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)) 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 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 1/8)
(*.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)) 1/4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (*.f64 (cbrt.f64 1/2) 1))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 x x))))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 4))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8))
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))))) 128)
(pow.f64 (cbrt.f64 (+.f64 x 1)) 1)
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 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))
(+.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 (*.f64 -1/9 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 5/81 (pow.f64 x 3)))))
(+.f64 (*.f64 1/3 x) (+.f64 (+.f64 1 (*.f64 -1/9 (pow.f64 x 2))) (*.f64 5/81 (pow.f64 x 3))))
(+.f64 (+.f64 1 (*.f64 1/3 x)) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 5/81 (pow.f64 x 3))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (-.f64 1 (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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)) 1/2)) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 -1 (cbrt.f64 x)) (+.f64 1 (cbrt.f64 (+.f64 x 1))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 -1 (*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) 2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 1/8)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 1/2) -2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 4))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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)) -4)) -8)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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)) -4))) -16)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))))) 128)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (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 4 (*.f64 (cbrt.f64 x) 1/4))
(cbrt.f64 x)
(*.f64 (*.f64 (cbrt.f64 x) 2) 1/2)
(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 (*.f64 (cbrt.f64 x) 8) 1/8)
(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) 1/4) 4)
(cbrt.f64 x)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/2)))
(cbrt.f64 x)
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 x x)))
(cbrt.f64 (*.f64 (+.f64 x x) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 2))
(cbrt.f64 x)
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 (+.f64 x x) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x x)))
(*.f64 (cbrt.f64 (+.f64 x x)) (*.f64 (cbrt.f64 1/2) 1))
(cbrt.f64 (*.f64 (+.f64 x x) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x x)))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 x)
(*.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 4))
(cbrt.f64 x)
(*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 1/4))
(cbrt.f64 x)
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 4)))
(cbrt.f64 x)
(*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))
(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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) 64)
(cbrt.f64 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 x) 8))))) 128)
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 1)
(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)) 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 (*.f64 (cbrt.f64 (+.f64 x 1)) 8) 1/8)
(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)) 1/4) 4)
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 2))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (*.f64 (cbrt.f64 1/2) 1))
(cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 x x))))
(cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 1/4))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 4))
(cbrt.f64 (+.f64 1 x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8))
(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 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) 64)
(cbrt.f64 (+.f64 1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x 1)) 8))))) 128)
(cbrt.f64 (+.f64 1 x))
(pow.f64 (cbrt.f64 (+.f64 x 1)) 1)
(cbrt.f64 (+.f64 1 x))

eval37.0ms (0.2%)

Compiler

Compiled 1690 to 1239 computations (26.7% saved)

prune24.0ms (0.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1347141
Fresh000
Picked011
Done000
Total1348142
Error
26.4b
Counts
142 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
27.7b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
27.1b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
27.0b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
27.0b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
27.0b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
27.5b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
29.3b
1
61.7b
0
Compiler

Compiled 170 to 142 computations (16.5% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
2.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 75 to 53 computations (29.3% saved)

series2.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite97.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1392×exponential.json-3
1392×rational.json-1
1392×rational.json-2
1392×rational.json-4
1392×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01571
111171
222421
347221
494821
5193021
6359121
7627521
Stop Event
node limit
Counts
1 → 50
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
Outputs
((#(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 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 1 (+.f64 (cbrt.f64 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))))) (#(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 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)))) (#(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 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) -1) (cbrt.f64 x))))) (#(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 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 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 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)))))) (#(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)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)) 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 (+.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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)))) (#(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 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)))) (#(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 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -8)))) (#(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 pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))))

simplify515.0ms (3%)

Algorithm
egg-herbie
Rules
2422×rational.json-simplify-35
1446×rational.json-simplify-2
1246×rational.json-simplify-1
778×rational.json-simplify-42
712×rational.json-simplify-26
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01311239
12811239
26921237
326321237
445231237
556691237
664631237
766901237
868891237
970751237
1072441237
1175841237
1277171237
1377631237
1477801237
1577911237
1677981237
1779751237
Stop Event
node limit
Counts
53 → 60
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 1 (-.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 1 (+.f64 (cbrt.f64 x) -1)))
(-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))
(-.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)
(-.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))
(-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(-.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))
(-.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))
(-.f64 (+.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) -1) (cbrt.f64 x))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(*.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 2 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)))
(*.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)) 1/4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))
(*.f64 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)) 2)
(/.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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -8)
(/.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)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 1 (-.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (+.f64 1 (+.f64 (cbrt.f64 x) -1)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))
(-.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)) (cbrt.f64 x))
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)
(-.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)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) -1) (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)) (cbrt.f64 x))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(-.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)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 2 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)))
(*.f64 2 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -2 (cbrt.f64 x))) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.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)) (cbrt.f64 x))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 1 x) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/2)))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4)) 2)
(*.f64 2 (+.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 2 (cbrt.f64 x))) 4) (/.f64 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -2 (cbrt.f64 x))) 4)))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.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)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -8)
(-.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)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.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)) (cbrt.f64 x))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 (*.f64 x 8))
1.0b
(cbrt.f64 1/8)
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
Compiler

Compiled 40 to 32 computations (20% saved)

series2.0ms (0%)

Counts
3 → 3
Calls

6 calls:

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

rewrite106.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1332×exponential.json-3
1332×rational.json-1
1332×rational.json-2
1332×rational.json-4
1332×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01449
110349
221637
343037
480137
5196737
6426837
7646037
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
(cbrt.f64 1/8)
(cbrt.f64 (*.f64 x 8))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))))))) (#(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 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))))) (#(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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))))) (#(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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/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 -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 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (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 1/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)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (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 (+.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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -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 (*.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 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.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 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(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 +.f64 (cbrt.f64 1/8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 1/8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 1/8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 8) (cbrt.f64 1/64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 1/8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 1/8) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 1/8) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 1/8) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/64) (cbrt.f64 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 1/8) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 1/8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/8) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/8) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/8) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 1/8) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 x 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 x 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 8) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 2 (*.f64 x 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (*.f64 x 8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (*.f64 x 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 8 (*.f64 x 8))) (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 8) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 x 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 16)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 32)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 x 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 8)) 1)))))

simplify140.0ms (0.8%)

Algorithm
egg-herbie
Rules
1930×rational.json-simplify-35
1238×exponential.json-simplify-18
906×rational.json-simplify-2
816×rational.json-simplify-1
772×exponential.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02462332
15362332
213731984
331731816
441891816
550041816
673991816
Stop Event
node limit
Counts
124 → 138
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 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 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))
(+.f64 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) -2)
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/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 -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 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 1/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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -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 (*.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 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 1/8) 0)
(+.f64 0 (cbrt.f64 1/8))
(+.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 1/8) 1/2))
(-.f64 (cbrt.f64 1/8) 0)
(*.f64 1 (cbrt.f64 1/8))
(*.f64 (cbrt.f64 1/8) 1)
(*.f64 (cbrt.f64 8) (cbrt.f64 1/64))
(*.f64 2 (*.f64 (cbrt.f64 1/8) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/8) 2) 1/2)
(*.f64 4 (/.f64 (cbrt.f64 1/8) 4))
(*.f64 (*.f64 (cbrt.f64 1/8) 4) 1/4)
(*.f64 1/2 (*.f64 (cbrt.f64 1/8) 2))
(*.f64 1/4 (*.f64 (cbrt.f64 1/8) 4))
(*.f64 (cbrt.f64 1/64) (cbrt.f64 8))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) 2)
(*.f64 (/.f64 (cbrt.f64 1/8) 4) 4)
(/.f64 (cbrt.f64 1/8) 1)
(/.f64 (*.f64 (cbrt.f64 1/8) 2) 2)
(/.f64 (*.f64 (cbrt.f64 1/8) 4) 4)
(/.f64 (*.f64 (cbrt.f64 1/8) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)))) 64)
(pow.f64 (cbrt.f64 1/8) 1)
(+.f64 (cbrt.f64 (*.f64 x 8)) 0)
(+.f64 0 (cbrt.f64 (*.f64 x 8)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))
(-.f64 (cbrt.f64 (*.f64 x 8)) 0)
(*.f64 1 (cbrt.f64 (*.f64 x 8)))
(*.f64 (cbrt.f64 (*.f64 x 8)) 1)
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 x 8))))
(*.f64 (cbrt.f64 x) (cbrt.f64 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 x))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 2 (*.f64 x 1/4)))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 x 8)) 4))
(*.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 8) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))
(*.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 x) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 1/4)
(*.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 64))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 8)) 2))
(*.f64 (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 8)) 4))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 x 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))
(*.f64 (cbrt.f64 (*.f64 8 (*.f64 x 8))) (cbrt.f64 1/8))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 8) 2))
(*.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 8)) 2))
(*.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 x 1/8)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 4)))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 16))
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 4))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 16)))
(*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (*.f64 x 16)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 x x)))
(*.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 x 1/2)))
(*.f64 (cbrt.f64 (*.f64 x 32)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 32)))
(/.f64 (cbrt.f64 (*.f64 x 8)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)))) 64)
(pow.f64 (cbrt.f64 (*.f64 x 8)) 1)
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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)) 0)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 (+.f64 1 x)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 1 x)) 1/2) (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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) -2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 1 x) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 1 x) 4)) (cbrt.f64 (*.f64 x 1/4))))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 x) (cbrt.f64 (+.f64 x 1))) -1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4) -4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) -8)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(+.f64 (cbrt.f64 (+.f64 1 x)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(+.f64 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -1 (cbrt.f64 x))))
(+.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 1 (+.f64 (cbrt.f64 (+.f64 1 x)) (-.f64 -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 (cbrt.f64 1/8) 0)
(cbrt.f64 1/8)
(+.f64 0 (cbrt.f64 1/8))
(cbrt.f64 1/8)
(+.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 1/8) 1/2))
(cbrt.f64 1/8)
(-.f64 (cbrt.f64 1/8) 0)
(cbrt.f64 1/8)
(*.f64 1 (cbrt.f64 1/8))
(cbrt.f64 1/8)
(*.f64 (cbrt.f64 1/8) 1)
(cbrt.f64 1/8)
(*.f64 (cbrt.f64 8) (cbrt.f64 1/64))
(cbrt.f64 1/8)
(*.f64 2 (*.f64 (cbrt.f64 1/8) 1/2))
(cbrt.f64 1/8)
(*.f64 (*.f64 (cbrt.f64 1/8) 2) 1/2)
(cbrt.f64 1/8)
(*.f64 4 (/.f64 (cbrt.f64 1/8) 4))
(cbrt.f64 1/8)
(*.f64 (*.f64 (cbrt.f64 1/8) 4) 1/4)
(cbrt.f64 1/8)
(*.f64 1/2 (*.f64 (cbrt.f64 1/8) 2))
(cbrt.f64 1/8)
(*.f64 1/4 (*.f64 (cbrt.f64 1/8) 4))
(cbrt.f64 1/8)
(*.f64 (cbrt.f64 1/64) (cbrt.f64 8))
(cbrt.f64 1/8)
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) 2)
(cbrt.f64 1/8)
(*.f64 (/.f64 (cbrt.f64 1/8) 4) 4)
(cbrt.f64 1/8)
(/.f64 (cbrt.f64 1/8) 1)
(cbrt.f64 1/8)
(/.f64 (*.f64 (cbrt.f64 1/8) 2) 2)
(cbrt.f64 1/8)
(/.f64 (*.f64 (cbrt.f64 1/8) 4) 4)
(cbrt.f64 1/8)
(/.f64 (*.f64 (cbrt.f64 1/8) 8) 8)
(cbrt.f64 1/8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)) 16)
(cbrt.f64 1/8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8))) 32)
(cbrt.f64 1/8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/8) 8)))) 64)
(cbrt.f64 1/8)
(pow.f64 (cbrt.f64 1/8) 1)
(cbrt.f64 1/8)
(+.f64 (cbrt.f64 (*.f64 x 8)) 0)
(cbrt.f64 (*.f64 x 8))
(+.f64 0 (cbrt.f64 (*.f64 x 8)))
(cbrt.f64 (*.f64 x 8))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))
(cbrt.f64 (*.f64 x 8))
(-.f64 (cbrt.f64 (*.f64 x 8)) 0)
(cbrt.f64 (*.f64 x 8))
(*.f64 1 (cbrt.f64 (*.f64 x 8)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 8)) 1)
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 x 8))))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 x) (cbrt.f64 8))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 x))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 2 (*.f64 x 1/4)))))
(cbrt.f64 (*.f64 x 8))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)))
(cbrt.f64 (*.f64 x 8))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 x 8)) 4))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 8) 1/2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 1/2)
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 x) 1/2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 1/4)
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 64))
(cbrt.f64 (*.f64 x 8))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 8)) 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))
(cbrt.f64 (*.f64 x 8))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 8)) 4))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 x 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))
(*.f64 (*.f64 1/2 (cbrt.f64 8)) (*.f64 (cbrt.f64 8) (*.f64 2 (cbrt.f64 (*.f64 x 1/8)))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/8)) (*.f64 1/2 (*.f64 (cbrt.f64 8) (cbrt.f64 8)))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/8)) (*.f64 1/2 (cbrt.f64 64))))
(*.f64 (cbrt.f64 (*.f64 8 (*.f64 x 8))) (cbrt.f64 1/8))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 x) 2) (cbrt.f64 64)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2) 2)
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 8) 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 x) 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 x 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 8)) 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 x 1/8)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 4)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 16))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 4))
(cbrt.f64 (*.f64 4 (+.f64 x x)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 16)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 16)) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 x x)))
(cbrt.f64 (*.f64 4 (+.f64 x x)))
(*.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 x 1/2)))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 (*.f64 x 32)) (cbrt.f64 1/4))
(cbrt.f64 (*.f64 x 8))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 x 32)))
(cbrt.f64 (*.f64 x 8))
(/.f64 (cbrt.f64 (*.f64 x 8)) 1)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 2) 2)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 4) 4)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 8)) 8) 8)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)) 16)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8))) 32)
(cbrt.f64 (*.f64 x 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 8)) 8)))) 64)
(cbrt.f64 (*.f64 x 8))
(pow.f64 (cbrt.f64 (*.f64 x 8)) 1)
(cbrt.f64 (*.f64 x 8))

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (*.f64 (+.f64 x 1) 8))
0.6b
(cbrt.f64 x)
1.0b
(cbrt.f64 1/8)
2.3b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
Compiler

Compiled 44 to 35 computations (20.5% saved)

series2.0ms (0%)

Counts
2 → 7
Calls

6 calls:

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

rewrite188.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1332×exponential.json-3
1332×rational.json-1
1332×rational.json-2
1332×rational.json-4
1332×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01450
110350
221638
343038
480038
5196138
6426738
7644738
Stop Event
node limit
Counts
2 → 97
Calls
Call 1
Inputs
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
(cbrt.f64 (*.f64 (+.f64 x 1) 8))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1))))) (#(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 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (+.f64 1 (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 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))))) (#(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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))))) (#(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 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (-.f64 1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 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 (-.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 -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 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (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 1/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)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -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 (*.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 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.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 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(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 +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 2 (*.f64 (+.f64 x 1) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 64))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))) (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 8) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 16)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 2 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 16))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 32)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 32)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)))))

simplify130.0ms (0.8%)

Algorithm
egg-herbie
Rules
1696×rational.json-simplify-35
1470×rational.json-simplify-51
1024×rational.json-simplify-1
916×rational.json-simplify-2
616×rational.json-simplify-48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02252042
14892042
211682038
324272038
446632038
555502038
671542038
Stop Event
node limit
Counts
104 → 122
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
2
(+.f64 (*.f64 2/3 x) 2)
(+.f64 (*.f64 2/3 x) (+.f64 2 (*.f64 -2/9 (pow.f64 x 2))))
(+.f64 (*.f64 2/3 x) (+.f64 (*.f64 10/81 (pow.f64 x 3)) (+.f64 2 (*.f64 -2/9 (pow.f64 x 2)))))
(+.f64 1 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 -1 (-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x)))
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 (-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x)) -1)
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (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 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (cbrt.f64 x)))
(+.f64 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) -2)
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (-.f64 1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))
(*.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 -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 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 2)
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -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 (*.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 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))))
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 x 1)))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 2 (*.f64 (+.f64 x 1) 1/4)))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 8) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))
(*.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 1/4)
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 64))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))
(*.f64 (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))) (cbrt.f64 1/8))
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 8) 2))
(*.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))
(*.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 16)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 16)))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 2 (+.f64 x x))))
(*.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 16))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 32)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 32)))
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)))) 64)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
2
(+.f64 (*.f64 2/3 x) 2)
(+.f64 2 (*.f64 x 2/3))
(+.f64 (*.f64 2/3 x) (+.f64 2 (*.f64 -2/9 (pow.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -2/9 (pow.f64 x 2)) (*.f64 x 2/3)))
(+.f64 2 (+.f64 (*.f64 x 2/3) (*.f64 -2/9 (pow.f64 x 2))))
(+.f64 (*.f64 2/3 x) (+.f64 (*.f64 10/81 (pow.f64 x 3)) (+.f64 2 (*.f64 -2/9 (pow.f64 x 2)))))
(+.f64 (*.f64 x 2/3) (+.f64 (+.f64 2 (*.f64 -2/9 (pow.f64 x 2))) (*.f64 10/81 (pow.f64 x 3))))
(+.f64 2 (+.f64 (*.f64 10/81 (pow.f64 x 3)) (+.f64 (*.f64 x 2/3) (*.f64 -2/9 (pow.f64 x 2)))))
(+.f64 2 (+.f64 (*.f64 x 2/3) (+.f64 (*.f64 -2/9 (pow.f64 x 2)) (*.f64 10/81 (pow.f64 x 3)))))
(+.f64 1 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -1))
(-.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)) (cbrt.f64 x))
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 -1 (-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (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)) (cbrt.f64 x))
(+.f64 (-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 x)) -1)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (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)) (cbrt.f64 x))
(+.f64 (-.f64 1 (cbrt.f64 x)) (+.f64 (cbrt.f64 (+.f64 x 1)) -1))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(+.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (-.f64 -1 (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)) (cbrt.f64 x))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (-.f64 1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))
(-.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)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.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)) (cbrt.f64 x))
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.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)) (cbrt.f64 x))
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.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)) (cbrt.f64 x))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(-.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)) (cbrt.f64 x))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(-.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)) (cbrt.f64 x))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(-.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)) (cbrt.f64 x))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 1 x) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/2)))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 x 4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 1 x) 4)) (cbrt.f64 (*.f64 x 4))))
(*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 4)))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.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)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(-.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)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) -8)
(-.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)) (cbrt.f64 x))
(/.f64 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4)) 4)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) 4))) 8)
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.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)) (cbrt.f64 x))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 0)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 8)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 8))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 8) (cbrt.f64 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 2 (*.f64 (+.f64 x 1) 1/4)))))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 1/8) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 8) 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 1/2)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 8) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 1/4)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 64))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8))) (*.f64 (*.f64 (cbrt.f64 8) 1/2) (cbrt.f64 8)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 8 (*.f64 (+.f64 x 1) 8))) (cbrt.f64 1/8))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)) (*.f64 (cbrt.f64 1/8) 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2) 2)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 8) 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 8) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (cbrt.f64 64)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1/2)) (*.f64 (cbrt.f64 1/8) 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (*.f64 (cbrt.f64 8) (*.f64 (cbrt.f64 1/8) 1/2)) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 64) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 4)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 4)) (cbrt.f64 2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 16)) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 16)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 4))
(cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4))
(cbrt.f64 (*.f64 4 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 2 (+.f64 x x))))
(cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4))
(cbrt.f64 (*.f64 4 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 16) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 16))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 32)) (cbrt.f64 1/4))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x 1) 32)))
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 2) 2)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 4) 4)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8) 8)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)) 16)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8))) 32)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 8)))) 64)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) 1)
(cbrt.f64 (*.f64 (+.f64 1 x) 8))

localize87.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
0.3b
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
0.6b
(cbrt.f64 (*.f64 x 1/4))
2.3b
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
Compiler

Compiled 53 to 43 computations (18.9% saved)

series6.0ms (0%)

Counts
4 → 8
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
1.0ms
x
@-inf
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@inf
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@0
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@-inf
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))

rewrite144.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1554×rational.json-1
1246×exponential.json-3
1246×rational.json-2
1246×rational.json-4
1246×rational.json-3
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
015104
1110104
2225100
3428100
4835100
5198280
6416580
7612880
8788180
Stop Event
node limit
Counts
4 → 148
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 (*.f64 x 1/4))
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) -1) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 (/.f64 x 16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.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 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 x 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 x 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 x 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x 16)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 x 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 (+.f64 x 1) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)))))
((#(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 (cbrt.f64 (+.f64 x 1)) (neg.f64 (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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)))) (#(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/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))))) (#(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 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.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)) 0)))) (#(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 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 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 (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)) 8) 8)))) (#(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 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)))) (#(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 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))))

simplify400.0ms (2.4%)

Algorithm
egg-herbie
Rules
1330×rational.json-simplify-35
986×rational.json-simplify-52
944×rational.json-simplify-1
938×rational.json-simplify-53
928×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02843456
16383442
216503422
339133416
455883416
568443416
Stop Event
node limit
Counts
156 → 175
Calls
Call 1
Inputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (*.f64 (cbrt.f64 1/4) (pow.f64 x 3))) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2))))))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 4))
(+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 4) x))) (*.f64 (cbrt.f64 1/4) (cbrt.f64 4)))
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(+.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x))))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(+.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) -1) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 (/.f64 x 16))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 1/4)
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/8) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2) -2)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -4) -4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(+.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(+.f64 0 (cbrt.f64 (*.f64 x 1/4)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(-.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(*.f64 1 (cbrt.f64 (*.f64 x 1/4)))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4))
(*.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 x 16)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 1/4))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 x) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 1/4)
(*.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 x) 2))
(*.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/8)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 1/2)))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/8))
(*.f64 (cbrt.f64 (/.f64 x 16)) (cbrt.f64 4))
(/.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)
(pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 (+.f64 x 1) 16)))
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 x 1)))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 1/4)
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) 2)
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 4))
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4)
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
Outputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 2) -1/9))))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)) (+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (*.f64 (cbrt.f64 1/4) (pow.f64 x 3))) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2))))))
(+.f64 (cbrt.f64 1/4) (+.f64 (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 2) -1/9))) (*.f64 5/81 (*.f64 (cbrt.f64 1/4) (pow.f64 x 3)))))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)) (+.f64 (+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2)))) (*.f64 (pow.f64 x 3) (*.f64 5/81 (cbrt.f64 1/4)))))
(+.f64 (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))) (+.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 3) (*.f64 (cbrt.f64 1/4) 5/81))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2))) (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x)))))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 4))
1
(+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 4) x))) (*.f64 (cbrt.f64 1/4) (cbrt.f64 4)))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (*.f64 x (cbrt.f64 4)) 1/3)) 1)
(+.f64 (*.f64 1/3 (*.f64 x 1)) 1)
(+.f64 1 (*.f64 1/3 x))
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) -1) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 (/.f64 x 16))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 1/4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1/2) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/8) (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -2) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -4) -4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -4)) -8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(cbrt.f64 (*.f64 1/4 x))
(+.f64 0 (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 (*.f64 1/4 x))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 x))
(-.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 1 (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 x 16)))
(cbrt.f64 (*.f64 (/.f64 x 16) 4))
(cbrt.f64 (*.f64 4 (/.f64 x 16)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 x))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 1/4))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 1/2)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 x) 1/2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 1/4)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) 2)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 x) 2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (*.f64 (cbrt.f64 x) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 x 1/8)))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 x 1/2)))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x x)))
(cbrt.f64 (*.f64 (+.f64 x x) 1/8))
(cbrt.f64 (*.f64 1/8 (+.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x 1/8)) (cbrt.f64 2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 (*.f64 x 1/2)) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 1/4 x))
(*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/8))
(cbrt.f64 (*.f64 (+.f64 x x) 1/8))
(cbrt.f64 (*.f64 1/8 (+.f64 x x)))
(*.f64 (cbrt.f64 (/.f64 x 16)) (cbrt.f64 4))
(cbrt.f64 (*.f64 (/.f64 x 16) 4))
(cbrt.f64 (*.f64 4 (/.f64 x 16)))
(/.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)
(cbrt.f64 (*.f64 1/4 x))
(pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 1/4 x))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 1/4 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 4 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 4) (cbrt.f64 (/.f64 (+.f64 x 1) 16)))
(cbrt.f64 (*.f64 (/.f64 (+.f64 x 1) 16) 4))
(cbrt.f64 (*.f64 4 (/.f64 (+.f64 x 1) 16)))
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 x 1)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 1/2)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 1/4)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (cbrt.f64 (+.f64 x 1)) 2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) 2)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/8)) (cbrt.f64 2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8))
(cbrt.f64 (*.f64 1/8 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 1/8) (cbrt.f64 (+.f64 x (+.f64 x 2))))
(cbrt.f64 (*.f64 1/8 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 16)) (cbrt.f64 4))
(cbrt.f64 (*.f64 (/.f64 (+.f64 x 1) 16) 4))
(cbrt.f64 (*.f64 4 (/.f64 (+.f64 x 1) 16)))
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(+.f64 0 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 (neg.f64 (cbrt.f64 x)) (cbrt.f64 (+.f64 x 1)))
(+.f64 (cbrt.f64 (+.f64 x 1)) (neg.f64 (cbrt.f64 x)))
(+.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x)))
(+.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 8)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)) 16)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))) 32)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 4 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -4)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8)))) 64)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))

localize141.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

Compiled 48 to 35 computations (27.1% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite259.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
2774×rational.json-simplify-35
2288×rational.json-simplify-2
1412×rational.json-simplify-1
1104×exponential.json-3
1104×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1275
2705
31305
42255
54555
610165
721675
834225
941095
1049905
1159675
1265485
1365485
1475065
1575065
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(cbrt.f64 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 2) 1/2) (*.f64 (cbrt.f64 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (cbrt.f64 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 2) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (cbrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 2) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (cbrt.f64 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (cbrt.f64 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))))) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 2) 1)))))

simplify783.0ms (4.6%)

Algorithm
egg-herbie
Rules
6068×rational.json-simplify-51
2446×rational.json-simplify-35
1870×rational.json-simplify-49
1106×rational.json-simplify-1
1002×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062145
1140145
2431145
31378145
42324145
53314145
63795145
73879145
83932145
93967145
104002145
114037145
124072145
134107145
144142145
154177145
164212145
174247145
184282145
194317145
204352145
214387145
224422145
234457145
244492145
254527145
264562145
274597145
284632145
294667145
304702145
314702145
324737145
334772145
346042145
Stop Event
node limit
Counts
29 → 30
Calls
Call 1
Inputs
(+.f64 (cbrt.f64 2) 0)
(+.f64 0 (cbrt.f64 2))
(+.f64 (*.f64 (cbrt.f64 2) 1/2) (*.f64 (cbrt.f64 2) 1/2))
(-.f64 (cbrt.f64 2) 0)
(*.f64 2 (*.f64 (cbrt.f64 2) 1/2))
(*.f64 (cbrt.f64 2) 1)
(*.f64 1 (cbrt.f64 2))
(*.f64 (*.f64 2 (cbrt.f64 2)) 1/2)
(*.f64 4 (*.f64 (cbrt.f64 2) 1/4))
(*.f64 (*.f64 (cbrt.f64 2) 4) 1/4)
(*.f64 (*.f64 (cbrt.f64 2) 8) 1/8)
(*.f64 1/2 (*.f64 2 (cbrt.f64 2)))
(*.f64 (*.f64 (cbrt.f64 2) 1/2) 2)
(*.f64 1/4 (*.f64 (cbrt.f64 2) 4))
(*.f64 (*.f64 (cbrt.f64 2) 1/4) 4)
(*.f64 1/8 (*.f64 (cbrt.f64 2) 8))
(/.f64 (cbrt.f64 2) 1)
(/.f64 (*.f64 2 (cbrt.f64 2)) 2)
(/.f64 (*.f64 (cbrt.f64 2) 4) 4)
(/.f64 (*.f64 (cbrt.f64 2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 2) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))) 512)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) 1024)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))))) 2048)
(pow.f64 (cbrt.f64 2) 1)
Outputs
(+.f64 (cbrt.f64 2) 0)
(cbrt.f64 2)
(+.f64 0 (cbrt.f64 2))
(cbrt.f64 2)
(+.f64 (*.f64 (cbrt.f64 2) 1/2) (*.f64 (cbrt.f64 2) 1/2))
(cbrt.f64 2)
(-.f64 (cbrt.f64 2) 0)
(cbrt.f64 2)
(*.f64 2 (*.f64 (cbrt.f64 2) 1/2))
(cbrt.f64 2)
(*.f64 (cbrt.f64 2) 1)
(cbrt.f64 2)
(*.f64 1 (cbrt.f64 2))
(cbrt.f64 2)
(*.f64 (*.f64 2 (cbrt.f64 2)) 1/2)
(cbrt.f64 2)
(*.f64 4 (*.f64 (cbrt.f64 2) 1/4))
(cbrt.f64 2)
(*.f64 (*.f64 (cbrt.f64 2) 4) 1/4)
(cbrt.f64 2)
(*.f64 (*.f64 (cbrt.f64 2) 8) 1/8)
(cbrt.f64 2)
(*.f64 1/2 (*.f64 2 (cbrt.f64 2)))
(cbrt.f64 2)
(*.f64 (*.f64 (cbrt.f64 2) 1/2) 2)
(cbrt.f64 2)
(*.f64 1/4 (*.f64 (cbrt.f64 2) 4))
(cbrt.f64 2)
(*.f64 (*.f64 (cbrt.f64 2) 1/4) 4)
(cbrt.f64 2)
(*.f64 1/8 (*.f64 (cbrt.f64 2) 8))
(cbrt.f64 2)
(/.f64 (cbrt.f64 2) 1)
(cbrt.f64 2)
(/.f64 (*.f64 2 (cbrt.f64 2)) 2)
(cbrt.f64 2)
(/.f64 (*.f64 (cbrt.f64 2) 4) 4)
(cbrt.f64 2)
(/.f64 (*.f64 (cbrt.f64 2) 8) 8)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 2) 8)) 16)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))) 32)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))) 64)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))) 128)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))) 256)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))) 512)
(cbrt.f64 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) 1024)
(cbrt.f64 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 2) 8))))))))) 2048)
(cbrt.f64 2)
(pow.f64 (cbrt.f64 2) 1)
(cbrt.f64 2)

eval954.0ms (5.6%)

Compiler

Compiled 20130 to 16137 computations (19.8% saved)

prune239.0ms (1.4%)

Pruning

17 alts after pruning (11 fresh and 6 done)

PrunedKeptTotal
New104591054
Fresh022
Picked011
Done055
Total1045171062
Error
26.3b
Counts
1062 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
27.7b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
27.1b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
27.0b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
27.2b
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
27.1b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
27.0b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
29.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 1 1/2)))
27.2b
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4))))
27.1b
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4))))
27.1b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/8))))
27.1b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4))))
27.0b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
27.0b
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))
27.5b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
27.6b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))))
29.3b
1
61.7b
0
Compiler

Compiled 457 to 392 computations (14.2% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
2.2b
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 79 to 60 computations (24.1% saved)

series2.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite129.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1700×rational.json-1
1700×rational.json-2
1256×rational.json-3
1252×exponential.json-3
1252×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01531
110931
221331
342631
484331
5202231
6408331
7572331
8773231
Stop Event
node limit
Counts
1 → 65
Calls
Call 1
Inputs
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (cbrt.f64 1/4)) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (cbrt.f64 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 -2 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 (cbrt.f64 1/4) 4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 4) (*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (/.f64 (cbrt.f64 1/4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 1/2 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))) (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -2 (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/4 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/2 (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -4) (*.f64 -1 (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (/.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 1/2)) (*.f64 (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))))

simplify158.0ms (0.9%)

Algorithm
egg-herbie
Rules
1736×rational.json-simplify-35
1490×rational.json-simplify-45
1068×rational.json-simplify-43
1038×rational.json-simplify-51
912×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01572072
13922072
28232066
318052062
434752062
550422062
657732062
769632062
Stop Event
node limit
Counts
68 → 76
Calls
Call 1
Inputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
0
(-.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)
(-.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 2 (*.f64 (neg.f64 (cbrt.f64 1/4)) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
(*.f64 2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 1/2)
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))
(*.f64 4 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 4 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 4 (*.f64 (cbrt.f64 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 -2 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 1/4)
(*.f64 8 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 8 (*.f64 (/.f64 (cbrt.f64 1/4) 4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 8 (*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 8 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 8 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (*.f64 (cbrt.f64 1/4) 4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4))
(*.f64 (*.f64 (cbrt.f64 1/4) 4) (*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (/.f64 (cbrt.f64 1/4) 4))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 1/2 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 -2 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))) (cbrt.f64 1/4)))
(*.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 -2 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(*.f64 -2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
(*.f64 -2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/4 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)) 2)
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -4) (*.f64 -1 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 -4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)
(*.f64 (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))
(*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 2 (cbrt.f64 1/2)) (*.f64 (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 1/4) 2))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 2)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 4)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))))) 64)
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
Outputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 x) 1))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (*.f64 1/3 x)))
0
(-.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (neg.f64 (cbrt.f64 1/4)) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2) (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 1/2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (*.f64 (cbrt.f64 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 -2 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 1/4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 8 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 8 (*.f64 (/.f64 (cbrt.f64 1/4) 4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 8 (*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)) (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) 8))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)) 8))
(*.f64 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)) (*.f64 (cbrt.f64 1/4) 4))
(*.f64 8 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 8 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 4) (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 4) (*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (/.f64 (cbrt.f64 1/4) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4) (*.f64 1/2 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))) (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (*.f64 -2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/4 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8) (*.f64 1/2 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 8) (*.f64 1/2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2)) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -4) (*.f64 -1 (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -4 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (/.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (/.f64 (cbrt.f64 1/4) 4)) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (cbrt.f64 1/2)) (*.f64 (*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 2)) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 4)) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8)))) 32)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 8))))) 64)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1)
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 x)
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 66 to 50 computations (24.2% saved)

series1.0ms (0%)

Counts
1 → 4
Calls

3 calls:

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

rewrite113.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1566×rational.json-simplify-35
1510×exponential.json-3
1510×rational.json-1
1510×rational.json-2
1510×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
19433
218233
334133
463533
5146733
6310833
7490633
8692733
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1) (/.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)) 1/2) -1) (*.f64 (cbrt.f64 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)))))

simplify264.0ms (1.6%)

Algorithm
egg-herbie
Rules
1718×rational.json-simplify-35
1702×rational.json-simplify-1
1632×rational.json-simplify-2
1304×rational.json-simplify-48
1100×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074874
1148874
2235874
3406874
4842874
52225874
62693874
73308874
83741874
94040874
104495874
115537874
126461874
136879874
147161874
157252874
167358874
177601874
Stop Event
node limit
Counts
30 → 31
Calls
Call 1
Inputs
-1/2
(-.f64 (*.f64 1/6 x) 1/2)
-1
-1
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(-.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 0)
(-.f64 0 (-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1))
(-.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1)))
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(-.f64 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) -1) (*.f64 (cbrt.f64 x) 1/2))
(*.f64 1 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
(*.f64 2 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4))
(*.f64 4 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8))
(*.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 1/2)
(*.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 1/4)
(*.f64 1/4 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))
(*.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4) 2)
(*.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8) 4)
(/.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
(/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 2)
(/.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 4)
(/.f64 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 8)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))))) 128)
(pow.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
Outputs
-1/2
(-.f64 (*.f64 1/6 x) 1/2)
-1
-1
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(-.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 0)
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(-.f64 0 (-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1))
(-.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1)))
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) -1) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(-.f64 (+.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) -1) (*.f64 (cbrt.f64 x) 1/2))
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(*.f64 1 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1))
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(*.f64 2 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4))
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 4 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8))
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 1/2)
(*.f64 1/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/4)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 1/4 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 4) 2)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(*.f64 (/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 8) 4)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))
(/.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) 2)
(/.f64 (*.f64 2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 4)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))) 8)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))) 16)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))) 32)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) 64)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x)))))))) 128)
(*.f64 1/2 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))))
(pow.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) 1)
(+.f64 -1 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/2 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -2) (cbrt.f64 x)))

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
0.3b
(cbrt.f64 (+.f64 x 1))
0.6b
(cbrt.f64 (*.f64 x 1/4))
9.6b
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4)))
Compiler

Compiled 57 to 47 computations (17.5% saved)

series4.0ms (0%)

Counts
2 → 7
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@inf
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
0.0ms
x
@-inf
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4)))
0.0ms
x
@-inf
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
0.0ms
x
@0
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4)))

rewrite101.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1410×rational.json-1
1410×rational.json-2
1410×rational.json-3
1402×exponential.json-3
1402×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01350
19648
220248
339848
476548
5176848
6369048
7599748
Stop Event
node limit
Counts
2 → 69
Calls
Call 1
Inputs
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) -1) (+.f64 1 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 8)) (cbrt.f64 (*.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.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 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (+.f64 x 1) 1/4))))))

simplify162.0ms (1%)

Algorithm
egg-herbie
Rules
1910×rational.json-simplify-35
1182×rational.json-simplify-51
920×rational.json-simplify-1
878×rational.json-simplify-43
666×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01722204
14092204
29212182
327232158
447482158
559332158
667622158
775342158
Stop Event
node limit
Counts
76 → 90
Calls
Call 1
Inputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
0
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (*.f64 (cbrt.f64 1/4) (pow.f64 x 3))) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2))))))
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(+.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) -1) (+.f64 1 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/2)
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 1/4)
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 2)
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)) -2)
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 8)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 4)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(/.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
Outputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (*.f64 1/3 x)))
0
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (*.f64 1/3 x)))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)) (*.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 2) -1/9))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)) (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 -1/9 (pow.f64 x 2)) (*.f64 1/3 x))))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2)))))
(+.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (*.f64 (cbrt.f64 1/4) (pow.f64 x 3))) (+.f64 (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)) (*.f64 -1/9 (*.f64 (cbrt.f64 1/4) (pow.f64 x 2))))))
(+.f64 (cbrt.f64 1/4) (+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)) (*.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 2) -1/9))) (*.f64 (cbrt.f64 1/4) (*.f64 (pow.f64 x 3) 5/81))))
(+.f64 (cbrt.f64 1/4) (+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)) (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2)))) (*.f64 (cbrt.f64 1/4) (*.f64 5/81 (pow.f64 x 3)))))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 -1/9 (pow.f64 x 2))) (+.f64 (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (pow.f64 x 3)) (*.f64 1/3 x))) (cbrt.f64 1/4)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 5/81 (pow.f64 x 3)) (+.f64 (*.f64 1/3 x) (*.f64 -1/9 (pow.f64 x 2))))))
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -2 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) -1) (+.f64 1 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 4) (/.f64 (cbrt.f64 (*.f64 1/4 x)) 4)))
(*.f64 4 (-.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 1/4) (/.f64 (cbrt.f64 (*.f64 1/4 x)) 4)))
(*.f64 4 (*.f64 (cbrt.f64 1/4) (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4))))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 1/4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 1/4) 1/2)) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 8)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) -8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 0)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 2) 2)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8) 8)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)) 16)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8))) 32)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 8)))) 64)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1)
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
(cbrt.f64 (*.f64 1/4 (+.f64 x 1)))

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 x 1/4))
0.8b
(cbrt.f64 (+.f64 x (+.f64 x 2)))
1.0b
(cbrt.f64 1/8)
2.3b
(-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4)))
Compiler

Compiled 71 to 55 computations (22.5% saved)

series4.0ms (0%)

Counts
2 → 6
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@0
(cbrt.f64 (+.f64 x (+.f64 x 2)))
1.0ms
x
@0
(-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@inf
(-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4)))
1.0ms
x
@-inf
(-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4)))
0.0ms
x
@inf
(cbrt.f64 (+.f64 x (+.f64 x 2)))

rewrite130.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1540×rational.json-1
1540×rational.json-2
1368×rational.json-3
1364×exponential.json-3
1364×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01556
110156
219956
339356
477456
5186656
6389956
7598456
8784756
Stop Event
node limit
Counts
2 → 80
Calls
Call 1
Inputs
(-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 (+.f64 x (+.f64 x 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (*.f64 (cbrt.f64 1/4) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 1/8) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/8) 1/2) (-.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) (*.f64 2 (cbrt.f64 (+.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x (+.f64 x 2)) 16)) (cbrt.f64 (*.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 (*.f64 x 1/4) (/.f64 (+.f64 x 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)))))

simplify217.0ms (1.3%)

Algorithm
egg-herbie
Rules
2676×rational.json-simplify-2
1966×rational.json-simplify-35
1336×rational.json-simplify-53
918×rational.json-simplify-1
830×exponential.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022517179871804
148017179871786
293817179871786
3192217179871786
4388217179871786
5479717179871786
6551817179871786
7622817179871786
8686817179871786
9727917179871786
Stop Event
node limit
Counts
86 → 122
Calls
Call 1
Inputs
(*.f64 1/2 (cbrt.f64 2))
(+.f64 (*.f64 1/2 (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)))
(cbrt.f64 2)
(+.f64 (cbrt.f64 2) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 7)) 1/3) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 7)) 1/3) (pow.f64 x 2))) (*.f64 -1/3 (/.f64 (*.f64 (+.f64 (*.f64 -16/9 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 (cbrt.f64 2) 2)))) (*.f64 8/27 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 2) 2))))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 0)
(+.f64 0 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4)))))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))
(+.f64 -1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))))
(+.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))) -1)
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) -1))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2))
(+.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2) -2)
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (*.f64 (cbrt.f64 1/4) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2)))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4))
(*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(*.f64 1 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 1/2)
(*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 1/8) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2))
(*.f64 -1 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (-.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) (*.f64 2 (cbrt.f64 (+.f64 x x)))))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) 2)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4) 4)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x (+.f64 x 2)) 16)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 (*.f64 x 1/2))))
(/.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 2)
(/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 4)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8) 8)
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)) 16)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)))) 64)
(pow.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(neg.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))
(+.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)
(+.f64 0 (cbrt.f64 (+.f64 x (+.f64 x 2))))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))
(-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))
(*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))
(*.f64 1 (cbrt.f64 (+.f64 x (+.f64 x 2))))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 2) 4))))
(*.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 1/2)
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) 2)
(*.f64 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x 2) 1/2))))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 2))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 (*.f64 x 1/4) (/.f64 (+.f64 x 2) 4))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 4))
(/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
(/.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 2)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)))) 64)
(pow.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
Outputs
(*.f64 1/2 (cbrt.f64 2))
(+.f64 (*.f64 1/2 (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)))
(+.f64 (*.f64 1/2 (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) x)))
(cbrt.f64 2)
(+.f64 (cbrt.f64 2) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)))
(+.f64 (cbrt.f64 2) (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 7)) 1/3) (pow.f64 x 2)))))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2))) (cbrt.f64 2)))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (+.f64 (cbrt.f64 2) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2)))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)) 1/3) x)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 7)) 1/3) (pow.f64 x 2))) (*.f64 -1/3 (/.f64 (*.f64 (+.f64 (*.f64 -16/9 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 (cbrt.f64 2) 2)))) (*.f64 8/27 (/.f64 1 (pow.f64 (cbrt.f64 2) 2)))) (pow.f64 x 3)) (pow.f64 (cbrt.f64 2) 2))))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2))) (*.f64 -1/3 (*.f64 (pow.f64 x 3) (/.f64 (+.f64 (*.f64 -16/9 (*.f64 1 (/.f64 1 (cbrt.f64 4)))) (*.f64 (/.f64 1 (cbrt.f64 4)) 8/27)) (cbrt.f64 4)))))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2))) (*.f64 -1/3 (*.f64 (+.f64 (*.f64 (/.f64 1 (cbrt.f64 4)) -16/9) (*.f64 (/.f64 1 (cbrt.f64 4)) 8/27)) (/.f64 (pow.f64 x 3) (cbrt.f64 4)))))))
(+.f64 (cbrt.f64 2) (+.f64 (+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2)))) (*.f64 -1/3 (*.f64 (*.f64 (/.f64 1 (cbrt.f64 4)) -40/27) (/.f64 (pow.f64 x 3) (cbrt.f64 4))))))
(+.f64 (cbrt.f64 2) (+.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 4)) 1/3) (*.f64 x 2/3)) (+.f64 (*.f64 -4/9 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 128)) 1/3) (pow.f64 x 2))) (*.f64 -1/3 (*.f64 (*.f64 (/.f64 1 (cbrt.f64 4)) -40/27) (/.f64 (pow.f64 x 3) (cbrt.f64 4)))))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 0)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(+.f64 0 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(+.f64 1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4)))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 -1 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (-.f64 1 (cbrt.f64 (*.f64 x 1/4)))) -1)
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 1/2 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8))) (-.f64 (*.f64 1/2 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8))) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 1/2 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8))) (-.f64 (*.f64 1/2 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8))) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) -1))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 -2 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(+.f64 (+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 1) (-.f64 -1 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 2) -2)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 2 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (*.f64 (cbrt.f64 1/4) 1/2)) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 2 x))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 1 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 1/2 (+.f64 x (+.f64 2 x)))) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (*.f64 1/2 (+.f64 2 (+.f64 x x)))) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 1/2)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 1/4 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8))) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 1/4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 1/4 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8))) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 1/4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 1/8) 1/2)) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 1/4 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8))) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) 1/4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 1/4)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 -1 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (*.f64 (cbrt.f64 1/8) 1/2) (-.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) (*.f64 2 (cbrt.f64 (+.f64 x x)))))
(*.f64 (*.f64 1/2 (cbrt.f64 1/8)) (-.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 2 x)))) (*.f64 2 (cbrt.f64 (+.f64 x x)))))
(*.f64 1/2 (*.f64 (cbrt.f64 1/8) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))))
(*.f64 (cbrt.f64 1/8) (*.f64 1/2 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 2 (+.f64 x x))) (cbrt.f64 (+.f64 x x))))))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1/2) 2)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -4) 4)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x (+.f64 x 2)) 16)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 x (+.f64 2 x)) 16)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (/.f64 (+.f64 2 (+.f64 x x)) 16)) (cbrt.f64 (*.f64 x 1/8))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/4)) (cbrt.f64 (*.f64 1/2 x))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/4)) (cbrt.f64 (*.f64 1/2 x))))
(/.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -2) 2)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) -1)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 4) 4)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8) 8)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 2 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)))) -2)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)) 16)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4) -4)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8))) 32)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))) 4)) -8)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 8)))) 64)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(pow.f64 (-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8)) (cbrt.f64 (*.f64 x 1/4))) 1)
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(neg.f64 (-.f64 (cbrt.f64 (*.f64 x 1/4)) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/8))))
(-.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 2 x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(-.f64 (cbrt.f64 (*.f64 (+.f64 2 (+.f64 x x)) 1/8)) (cbrt.f64 (*.f64 x 1/4)))
(+.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(+.f64 0 (cbrt.f64 (+.f64 x (+.f64 x 2))))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(+.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 0)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 1/4 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 1 (cbrt.f64 (+.f64 x (+.f64 x 2))))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (+.f64 (*.f64 x 4) (*.f64 (+.f64 x 2) 4))))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 1/2)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 4 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 1/4)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 1/2 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1/2) 2)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x 2) 1/2))))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))))
(cbrt.f64 (*.f64 1/2 (+.f64 2 (+.f64 2 (*.f64 x 4)))))
(cbrt.f64 (*.f64 1/2 (+.f64 (*.f64 x 4) 4)))
(cbrt.f64 (*.f64 1/2 (+.f64 4 (*.f64 x 4))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/2)) (cbrt.f64 2))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 (+.f64 2 (+.f64 2 (*.f64 x 4)))) (cbrt.f64 1/2))
(cbrt.f64 (*.f64 1/2 (+.f64 2 (+.f64 2 (*.f64 x 4)))))
(cbrt.f64 (*.f64 1/2 (+.f64 (*.f64 x 4) 4)))
(cbrt.f64 (*.f64 1/2 (+.f64 4 (*.f64 x 4))))
(*.f64 (cbrt.f64 4) (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 4) (cbrt.f64 (+.f64 (*.f64 x 1/4) (/.f64 (+.f64 x 2) 4))))
(cbrt.f64 (*.f64 4 (+.f64 (*.f64 x 1/4) (/.f64 (+.f64 2 x) 4))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 4)) (cbrt.f64 1/4))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x (+.f64 x 2)) 1/4)) (cbrt.f64 4))
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (cbrt.f64 (+.f64 x (+.f64 x 2)))) 2)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 4) 4)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8) 8)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)) 16)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8))) 32)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 8)))) 64)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))
(pow.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) 1)
(cbrt.f64 (+.f64 x (+.f64 2 x)))
(cbrt.f64 (+.f64 2 (+.f64 x x)))

localize55.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(cbrt.f64 1/8)
2.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 129 to 102 computations (20.9% saved)

series2.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1702×rational.json-1
1702×rational.json-2
1308×rational.json-simplify-35
1038×exponential.json-3
1038×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02383
116683
232521
371421
4131321
5278821
6490221
7736721
Stop Event
node limit
Counts
1 → 52
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
Outputs
((#(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 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 (+.f64 (cbrt.f64 x) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))))) (#(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 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)))) (#(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 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/2) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) 1) (cbrt.f64 x))))) (#(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 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 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 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))))) (#(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 (-.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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)))) (#(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 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 2 (*.f64 x 1/8)))))))) (#(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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 8)))) (#(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 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))))

simplify532.0ms (3.1%)

Algorithm
egg-herbie
Rules
3012×rational.json-simplify-51
2444×rational.json-simplify-35
1432×rational.json-simplify-1
1212×rational.json-simplify-2
930×rational.json-simplify-48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01431767
13091479
27511189
326631189
450011189
559371189
661831189
763891189
865571189
967521189
1069201189
1173491189
1273921189
1374041189
1474051189
1574051189
1675611189
1777171189
Stop Event
node limit
Counts
55 → 63
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 (+.f64 (cbrt.f64 x) -1) -1))
(-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))
(-.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)
(-.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)))
(-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))
(-.f64 (/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/2) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(-.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))
(-.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))
(-.f64 (-.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) 1) (cbrt.f64 x))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(*.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(*.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/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 2 (*.f64 x 1/8)))))
(/.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 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 8)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -8)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) 64)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))) 8)
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
Outputs
1
(+.f64 1 (*.f64 1/3 x))
0
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 (+.f64 (cbrt.f64 x) -1) -1))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 -1 (+.f64 (cbrt.f64 x) (-.f64 -1 (cbrt.f64 (+.f64 x 1)))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 0)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 0 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -1 (cbrt.f64 x))) -1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 -2 (cbrt.f64 x))) -2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) (-.f64 2 (cbrt.f64 x))) 2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 1 (cbrt.f64 (+.f64 x 1))) (+.f64 1 (cbrt.f64 x)))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) (+.f64 (cbrt.f64 x) -1))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 3/2) 2) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (+.f64 1 (+.f64 (cbrt.f64 (+.f64 x 1)) -1)) (cbrt.f64 x))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (+.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -1) -2) (cbrt.f64 x))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(-.f64 (-.f64 (-.f64 (+.f64 (cbrt.f64 (+.f64 x 1)) -1) -2) 1) (cbrt.f64 x))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 -1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 2 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (+.f64 1 x)) 4) (/.f64 (cbrt.f64 x) 4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/4)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 4) (*.f64 (cbrt.f64 x) 4)))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 4)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (-.f64 (cbrt.f64 (*.f64 (+.f64 1 x) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/2)))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 x 1) 4)) (cbrt.f64 (*.f64 2 (*.f64 x 1/8)))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (/.f64 (+.f64 1 x) 4)) (cbrt.f64 (*.f64 x 1/4))))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 4)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 8)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -2)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 16)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -4)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 32)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -8)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) 4)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) 64)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) (neg.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))) 8)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(pow.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1)
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))
(neg.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(-.f64 1 (+.f64 1 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x)))))
(-.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) 0))
(-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))

eval753.0ms (4.4%)

Compiler

Compiled 20634 to 17372 computations (15.8% saved)

prune375.0ms (2.2%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New9553958
Fresh156
Picked011
Done2810
Total95817975
Error
26.3b
Counts
975 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
27.7b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
27.1b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
27.0b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
27.2b
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
27.1b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
56.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
27.0b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
55.6b
(+.f64 -1 (+.f64 1 (*.f64 1 1/2)))
27.2b
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4))))
27.1b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4))))
27.0b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
27.6b
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1)))
27.0b
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))
27.5b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
27.6b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))))
29.3b
1
61.7b
0
Compiler

Compiled 396 to 346 computations (12.6% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
0.3b
(*.f64 (cbrt.f64 x) (cbrt.f64 1/4))
0.6b
(cbrt.f64 x)
9.6b
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4)))
Compiler

Compiled 57 to 44 computations (22.8% saved)

series3.0ms (0%)

Counts
2 → 3
Calls

6 calls:

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

rewrite159.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1800×rational.json-simplify-35
1342×rational.json-1
1342×rational.json-2
1342×rational.json-3
1334×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01344
19644
220042
338642
474842
5174142
6361442
7580642
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 x) (cbrt.f64 1/4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (-.f64 1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.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 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 x 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (*.f64 x 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 x 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x 1/4))))))

simplify107.0ms (0.6%)

Algorithm
egg-herbie
Rules
1314×rational.json-simplify-51
1220×rational.json-simplify-35
1074×rational.json-simplify-1
1046×rational.json-simplify-43
778×rational.json-simplify-52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01722096
13962096
29102094
329062086
451872086
565392086
Stop Event
node limit
Counts
76 → 87
Calls
Call 1
Inputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
0
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(+.f64 -2 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) -1))
(+.f64 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(+.f64 (-.f64 -1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (-.f64 1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/4)
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 4)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(/.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)))) 16)
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(+.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(+.f64 0 (cbrt.f64 (*.f64 x 1/4)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(-.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(/.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))))) 128)
(pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 x 1/4))
Outputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 x 1/3)))
(+.f64 (cbrt.f64 1/4) (*.f64 x (*.f64 (cbrt.f64 1/4) 1/3)))
(*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 x) 1))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (*.f64 1/3 x)))
0
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (neg.f64 (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 0)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 0 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -1 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 1/2) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 1/2) (-.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 1/2) (cbrt.f64 (*.f64 1/4 x))))
(+.f64 (*.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 1/2) (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (cbrt.f64 x))))
(+.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (-.f64 1 (cbrt.f64 (*.f64 x 1/4))) (+.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 -2 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4))) (+.f64 (neg.f64 (cbrt.f64 (*.f64 x 1/4))) -1))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (-.f64 2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (-.f64 -1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))) (-.f64 1 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) 4) (/.f64 (cbrt.f64 (*.f64 x 1/4)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 4) (/.f64 (cbrt.f64 (*.f64 1/4 x)) 4)))
(*.f64 4 (-.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (+.f64 x 1))) 4) (*.f64 (cbrt.f64 (*.f64 1/4 x)) 1/4)))
(*.f64 4 (*.f64 (cbrt.f64 1/4) (-.f64 (/.f64 (cbrt.f64 (+.f64 x 1)) 4) (/.f64 (cbrt.f64 x) 4))))
(*.f64 4 (*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 1/2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 1/4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) (*.f64 -1 (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 1/2 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/2)) (cbrt.f64 (*.f64 x 1/2))))
(*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/8) (-.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 (+.f64 x x))))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 2) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 4 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) 2) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) -2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4) -4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) -8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))) 32)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) -16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) 64)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 8))))) 128)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4))) (*.f64 2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))) 4)))) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(neg.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(+.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(cbrt.f64 (*.f64 1/4 x))
(+.f64 0 (cbrt.f64 (*.f64 x 1/4)))
(cbrt.f64 (*.f64 1/4 x))
(+.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2) (*.f64 (cbrt.f64 (*.f64 x 1/4)) 1/2))
(cbrt.f64 (*.f64 1/4 x))
(-.f64 (cbrt.f64 (*.f64 x 1/4)) 0)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 2) 2)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 4) 4)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8) 8)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)) 16)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))) 32)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) 64)
(cbrt.f64 (*.f64 1/4 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cbrt.f64 (*.f64 x 1/4)) 8))))) 128)
(cbrt.f64 (*.f64 1/4 x))
(pow.f64 (cbrt.f64 (*.f64 x 1/4)) 1)
(cbrt.f64 (*.f64 1/4 x))
(cbrt.f64 (*.f64 x 1/4))
(cbrt.f64 (*.f64 1/4 x))

localize8.0ms (0%)

Compiler

Compiled 19 to 19 computations (0% saved)

localize47.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 x 8))
1.0b
(cbrt.f64 1/8)
2.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
2.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
Compiler

Compiled 103 to 89 computations (13.6% saved)

series2.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite109.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1662×rational.json-1
1662×rational.json-2
1662×rational.json-3
1282×rational.json-simplify-35
1058×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02251
115039
226927
353127
4103227
5266627
6522627
7721527
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 1/2 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (-.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)) -4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.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)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))))))

simplify145.0ms (0.9%)

Algorithm
egg-herbie
Rules
1610×rational.json-simplify-2
1306×rational.json-simplify-26
1174×rational.json-simplify-35
990×rational.json-simplify-42
982×rational.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0901122
11951122
23671122
39391122
423731122
533521122
642461122
765941122
878191122
Stop Event
node limit
Counts
44 → 44
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 1/6 x))
0
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 0)
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) -1)
(-.f64 0 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(-.f64 0 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(-.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4)))
(-.f64 (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 1)
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 1/2 (cbrt.f64 x)))
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(*.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(*.f64 1/8 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(*.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/4)
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1/2)
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/8)
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 2)
(*.f64 -1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) -2)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 4)
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 4)
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -2)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 8)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 16)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 32)
(/.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 64)
(/.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -2)
(/.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -4)
(pow.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(neg.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
Outputs
1/2
(+.f64 1/2 (*.f64 1/6 x))
0
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 0)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) -1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 0 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 0 (*.f64 1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1)))))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 0 (-.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4)))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)) 1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) 1/2) (*.f64 1/2 (cbrt.f64 x)))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/8 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -1 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 1/4)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -1/2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 1/8)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/4) 2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -1/2 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -4) -2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 8) 4)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 2) 4)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 x 1))) -2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4) 8)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -4)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)) 16)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -8)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4))) 32)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) -1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -16)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 4)))) 64)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) -2)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (+.f64 (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)) (*.f64 2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))) -4)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) 1)
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(neg.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2))
(*.f64 1/2 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))

localize178.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(cbrt.f64 (*.f64 (+.f64 x 1) 1/4))
0.6b
(cbrt.f64 (*.f64 x 1/4))
1.0b
(cbrt.f64 2)
2.3b
(-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4)))
Compiler

Compiled 96 to 82 computations (14.6% saved)

localize55.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 x)
1.0b
(cbrt.f64 1/8)
2.2b
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1))
2.3b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
Compiler

Compiled 124 to 103 computations (16.9% saved)

series1.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1))
0.0ms
x
@-inf
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1))
0.0ms
x
@0
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1))

rewrite108.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1422×exponential.json-3
1422×rational.json-1
1422×rational.json-2
1422×rational.json-4
1422×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02043
114643
228431
357431
4111931
5246731
6471531
7705931
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2) (*.f64 (cbrt.f64 1/4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)))))

simplify253.0ms (1.5%)

Algorithm
egg-herbie
Rules
2074×rational.json-simplify-2
1708×rational.json-simplify-1
1634×rational.json-simplify-35
876×rational.json-simplify-53
818×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074975
1175975
2386975
31132971
42341971
53686971
64733971
75626971
85917971
96162971
106414971
116739971
127706971
Stop Event
node limit
Counts
33 → 40
Calls
Call 1
Inputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
0
(-.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)
(-.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 1/2)
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 1/4)
(*.f64 -2 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (cbrt.f64 1/4)))
(*.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)) 2)
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 2)
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 4)
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)))) 64)
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
Outputs
(cbrt.f64 1/4)
(+.f64 (cbrt.f64 1/4) (*.f64 1/3 (*.f64 (cbrt.f64 1/4) x)))
(+.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 1/4) (*.f64 1/3 x)))
(*.f64 (cbrt.f64 1/4) (+.f64 (*.f64 1/3 x) 1))
(*.f64 (cbrt.f64 1/4) (+.f64 1 (*.f64 1/3 x)))
0
(-.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 0)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) -1) -1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 1/4 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 2 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 2) (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 1/2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 4 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2) (*.f64 (cbrt.f64 1/4) 1/2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) (neg.f64 (cbrt.f64 1/4)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 1/4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 -2 (*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) -2) (cbrt.f64 1/4)))
(*.f64 -2 (*.f64 (cbrt.f64 1/4) (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))
(*.f64 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2) (*.f64 (cbrt.f64 1/4) -2))
(*.f64 (cbrt.f64 1/4) (*.f64 -2 (/.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) -2)))
(*.f64 1/2 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 1/4) 1/2) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) 1/2) (*.f64 (cbrt.f64 1/4) 2))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 1/2)) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (neg.f64 (cbrt.f64 1/4)) (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 4) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (-.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))) -2)) 2)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x)) (*.f64 (cbrt.f64 1/4) 4)) 4)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8) 8)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)) 16)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) 32)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 8)))) 64)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))
(pow.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 1 x)) (cbrt.f64 x))) 1)
(*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)))

eval318.0ms (1.9%)

Compiler

Compiled 14961 to 13043 computations (12.8% saved)

prune140.0ms (0.8%)

Pruning

19 alts after pruning (7 fresh and 12 done)

PrunedKeptTotal
New6874691
Fresh033
Picked101
Done11213
Total68919708
Error
26.3b
Counts
708 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
27.7b
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
27.1b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
27.0b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
27.2b
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
56.1b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 4)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
56.0b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 2)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
27.1b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
56.2b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
27.0b
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
27.2b
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4))))
27.1b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4))))
27.0b
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
27.0b
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))
27.5b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
27.6b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))))
27.6b
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))))
29.3b
1
55.6b
1/2
61.7b
0
Compiler

Compiled 323 to 281 computations (13% saved)

regimes27.0ms (0.2%)

Counts
24 → 1
Calls
Call 1
Inputs
0
1/2
1
(+.f64 -1 (+.f64 1 (*.f64 1 1/2)))
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 1 1/2)))
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8)))
(-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 x) (cbrt.f64 1/4))))
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 1/4)) (cbrt.f64 (*.f64 x 1/4))))
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))
(*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 1/8))))
(*.f64 (cbrt.f64 4) (-.f64 (*.f64 (cbrt.f64 (+.f64 x (+.f64 x 2))) (cbrt.f64 1/8)) (cbrt.f64 (*.f64 x 1/4))))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x 4)) (cbrt.f64 2)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (*.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 4)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 0 1/2)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (-.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 1/4)) (cbrt.f64 (*.f64 x 1/4))))))
(*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x))) -1)))
(+.f64 (+.f64 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 x 8)) (cbrt.f64 1/8))) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(+.f64 (+.f64 (*.f64 (-.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 x 1) 8)) (cbrt.f64 1/8)) (cbrt.f64 x)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x)) 1/2)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 4) (+.f64 1 (+.f64 (*.f64 (cbrt.f64 1/4) (-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))) -1)))))
Outputs
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Calls

2 calls:

11.0ms
x
7.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Results
ErrorSegmentsBranch
27.0b1x
27.0b1(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 393 to 327 computations (16.8% saved)

regimes6.0ms (0%)

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

1 calls:

5.0ms
x
Results
ErrorSegmentsBranch
29.3b1x
Compiler

Compiled 13 to 12 computations (7.7% saved)

regimes4.0ms (0%)

Accuracy

Total -6.2b remaining (-11.1%)

Threshold costs -6.2b (-11.1%)

Counts
2 → 1
Calls
Call 1
Inputs
0
1/2
Outputs
1/2
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
55.6b1x
Compiler

Compiled 5 to 4 computations (20% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 14 to 12 computations (14.3% saved)

soundness0.0ms (0%)

end22.0ms (0.1%)

Compiler

Compiled 11 to 9 computations (18.2% saved)

Profiling

Loading profile data...