Details

Time bar (total: 12.0s)

analyze5.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
57.1%50%37.5%0%12.5%0%0%4
76.9%62.5%18.7%0%18.7%0%0%5
88%68.7%9.4%0%21.9%0%0%6
93.9%71.8%4.7%0%23.4%0%0%7
96.9%73.4%2.3%0%24.2%0%0%8
98.4%74.2%1.2%0%24.6%0%0%9
99.2%74.6%0.6%0%24.8%0%0%10
99.6%74.8%0.3%0%24.9%0%0%11
99.8%74.9%0.1%0%24.9%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample1.1s (9.1%)

Results
1.1s8256×body256valid
2.0ms18×body256infinite
Bogosity

preprocess426.0ms (3.6%)

Algorithm
egg-herbie
Rules
1816×rational.json-simplify-35
1346×rational.json-simplify-53
1012×rational.json-simplify-39
864×rational.json-simplify-59
634×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01237
11731
22331
32931
43431
55731
621131
7199631
8595731
9781231
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 x (*.f64 3 x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify130.0ms (1.1%)

Algorithm
egg-herbie
Rules
1816×rational.json-simplify-35
1346×rational.json-simplify-53
1012×rational.json-simplify-39
864×rational.json-simplify-59
634×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
11731
22331
32931
43431
55731
621131
7199631
8595731
9781231
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 x (*.f64 3 x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))

eval1.0ms (0%)

Compiler

Compiled 38 to 30 computations (21.1% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.1b
Counts
4 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
Compiler

Compiled 26 to 21 computations (19.2% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 3 x) 4)
0.1b
(*.f64 x (-.f64 (*.f64 3 x) 4))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
Compiler

Compiled 40 to 31 computations (22.5% saved)

series2.0ms (0%)

Counts
3 → 27
Calls

9 calls:

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

rewrite110.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1450×rational.json-simplify-35
1314×bool.json-1
1314×bool.json-2
1264×rational.json-1
1264×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01163
111663
230963
359063
4118063
5258563
6523563
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(-.f64 (*.f64 3 x) 4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3) (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 4 (+.f64 (*.f64 3 x) -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (+.f64 (*.f64 3 x) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (+.f64 (*.f64 3 x) -4)) (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (+.f64 (*.f64 3 x) -4)) (*.f64 x (+.f64 (*.f64 3 x) -4)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 x (+.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 x) -4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 3 x) -4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 3 x) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (+.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -4 (*.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3/2) (-.f64 (*.f64 x 3/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -4) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x -4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 3 x) -4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 3 x) -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 3 x) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 3 x) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 3 x) -4) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 3 x) -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 3 x) -4) (+.f64 (*.f64 3 x) -4))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 3 x) -4) (+.f64 (*.f64 3 x) -4))))))

simplify579.0ms (4.8%)

Algorithm
egg-herbie
Rules
3118×rational.json-simplify-2
2932×rational.json-simplify-35
2086×rational.json-simplify-53
1138×rational.json-simplify-1
856×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01262377
12782377
26671741
318691741
437761741
544201741
646441741
748181741
849761741
951361741
1063961741
1164401741
1264591741
1364691741
1464711741
1564711741
1666031741
1767351741
1868671741
1969991741
Stop Event
node limit
Counts
85 → 79
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
-4
(*.f64 3 x)
(*.f64 3 x)
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))
(+.f64 (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) 1)
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3) (*.f64 x (+.f64 (*.f64 3 x) -4)))
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(-.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) -1)
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)
(/.f64 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)) 8)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))))) 64)
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(+.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)))
(-.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(/.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 2)
(/.f64 (*.f64 x (*.f64 4 (+.f64 (*.f64 3 x) -4))) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)))) 64)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 (*.f64 3 x) -4)
(+.f64 (+.f64 (*.f64 3 x) -4) 0)
(+.f64 0 (+.f64 (*.f64 3 x) -4))
(+.f64 (+.f64 x x) (+.f64 x -4))
(+.f64 -4 (*.f64 3 x))
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))
(+.f64 (*.f64 x 3/2) (-.f64 (*.f64 x 3/2) 4))
(+.f64 (+.f64 x -4) (+.f64 x x))
(+.f64 (+.f64 x (+.f64 x -4)) x)
(*.f64 4 (/.f64 (+.f64 (*.f64 3 x) -4) 4))
(*.f64 (+.f64 (*.f64 3 x) -4) 1)
(*.f64 1 (+.f64 (*.f64 3 x) -4))
(*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 1/2)
(*.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 3 x) -4) 2))
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 3 x) -4)))
(*.f64 (/.f64 (+.f64 (*.f64 3 x) -4) 4) 4)
(/.f64 (+.f64 (*.f64 3 x) -4) 1)
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 2)
(/.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 4)
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)))) 64)
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 3 (*.f64 -12 x))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x -4) (*.f64 3 (pow.f64 x 2)))
-4
(*.f64 3 x)
(*.f64 3 x)
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 2 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2))) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 3/2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) 1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 3) (*.f64 x (+.f64 (*.f64 3 x) -4)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(-.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 1 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)))) -1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)) 8)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))) 16)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) 32)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6)))) (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6))))) 64)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 3 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (+.f64 (*.f64 x (*.f64 2 (+.f64 -4 (*.f64 3 x)))) (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 3 (*.f64 (*.f64 3 x) (+.f64 -4 (*.f64 3 x))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 3 x) -4) (*.f64 x 1/2)))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(-.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (*.f64 (+.f64 (*.f64 3 x) -4) 2)) 2)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (*.f64 4 (+.f64 (*.f64 3 x) -4))) 4)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8) 8)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)) 16)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) 32)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 8)))) 64)
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 (*.f64 3 x) -4)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 (+.f64 (*.f64 3 x) -4) 0)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 0 (+.f64 (*.f64 3 x) -4))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 (+.f64 x x) (+.f64 x -4))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 -4 (*.f64 3 x))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 (*.f64 x 3/2) (-.f64 (*.f64 x 3/2) 4))
(+.f64 (-.f64 (*.f64 x 3/2) 4) (*.f64 x 3/2))
(+.f64 (+.f64 x -4) (+.f64 x x))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(+.f64 (+.f64 x (+.f64 x -4)) x)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 4 (/.f64 (+.f64 (*.f64 3 x) -4) 4))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 (+.f64 (*.f64 3 x) -4) 1)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 1 (+.f64 (*.f64 3 x) -4))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 1/2)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 1/4)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 3 x) -4) 2))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 1/2) 2)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 1/4 (*.f64 4 (+.f64 (*.f64 3 x) -4)))
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(*.f64 (/.f64 (+.f64 (*.f64 3 x) -4) 4) 4)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (+.f64 (*.f64 3 x) -4) 1)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 2) 2)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (*.f64 4 (+.f64 (*.f64 3 x) -4)) 4)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -4) 8) 8)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)) 16)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) 32)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -4) 8)))) 64)
(+.f64 x (+.f64 x (+.f64 x -4)))
(+.f64 -4 (*.f64 3 x))

localize1.1s (8.8%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.2b
(*.f64 (*.f64 x 3) x)
Compiler

Compiled 49 to 35 computations (28.6% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite101.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
2018×bool.json-1
2018×bool.json-2
1002×rational.json-1
1002×rational.json-2
1002×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01275
112663
233663
368063
4143363
5334163
6717963
Stop Event
node limit
Counts
3 → 82
Calls
Call 1
Inputs
(*.f64 (*.f64 x 3) x)
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3/2)) (*.f64 x (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 x 12))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 x 3)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 x 3)) (*.f64 x (*.f64 x 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)) (*.f64 x (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x 4)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x 4)) (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) (*.f64 x (-.f64 (*.f64 x 3/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)) (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 x 3) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (neg.f64 (-.f64 4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 x (*.f64 x 3)) 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (-.f64 (*.f64 x 3/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x (-.f64 4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 x 3) -4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 x 3) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (-.f64 (*.f64 x 3/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 3) -4) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 x (*.f64 x 6)) (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4 (*.f64 x 3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 x 3) -4)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 6) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x 3) -4) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x 3) -4) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (-.f64 4 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 4 (*.f64 x 3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 3/2) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (-.f64 4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (+.f64 (*.f64 x 3) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (+.f64 (*.f64 x 3) -4)) (*.f64 x (+.f64 (*.f64 x 3) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (+.f64 (*.f64 x 3) -4)) (*.f64 x (+.f64 (*.f64 x 3) -4)))))))

simplify194.0ms (1.6%)

Algorithm
egg-herbie
Rules
1220×rational.json-simplify-61
1102×rational.json-simplify-35
1090×rational.json-simplify-2
928×rational.json-simplify-51
898×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01733842
13773520
28492410
320552410
440132410
Stop Event
node limit
Counts
118 → 108
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x (*.f64 x 3)) 0)
(+.f64 0 (*.f64 x (*.f64 x 3)))
(+.f64 (*.f64 x (+.f64 x x)) (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x 3/2)) (*.f64 x (*.f64 x 3/2)))
(-.f64 (*.f64 x (*.f64 x 3)) 0)
(/.f64 (*.f64 x (*.f64 x 3)) 1)
(/.f64 (*.f64 x (*.f64 x 6)) 2)
(/.f64 (*.f64 x (*.f64 x 12)) 4)
(/.f64 (*.f64 2 (*.f64 x (*.f64 x 12))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12))))) 32)
(+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))
(+.f64 (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))
(+.f64 (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2))
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)) (*.f64 x (+.f64 (*.f64 x 3) -4)))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) 1)
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)
(-.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) -1)
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 6) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)))) 32)
(+.f64 (*.f64 x (*.f64 x 3)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 0)
(+.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) -1)
(+.f64 0 (*.f64 x (+.f64 (*.f64 x 3) -4)))
(+.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 x (*.f64 x 3)))
(+.f64 (neg.f64 (*.f64 x 4)) (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)))
(+.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) (*.f64 x (-.f64 (*.f64 x 3/2) 2)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1) 1)
(+.f64 (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)) (neg.f64 (*.f64 x 4)))
(*.f64 x (+.f64 (*.f64 x 3) -4))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 x 3))))
(*.f64 4 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 x (*.f64 x 3)) 4) x))
(*.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)
(*.f64 1 (*.f64 x (+.f64 (*.f64 x 3) -4)))
(*.f64 2 (*.f64 x (-.f64 (*.f64 x 3/2) 2)))
(*.f64 -1 (*.f64 x (-.f64 4 (*.f64 x 3))))
(*.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 1/2)
(*.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 x 3) -4) 1/2))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 x 3) -4) 2))
(*.f64 (+.f64 x x) (-.f64 (*.f64 x 3/2) 2))
(*.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)
(*.f64 (+.f64 (*.f64 x 3) -4) x)
(*.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 1/4)
(*.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))
(*.f64 1/2 (-.f64 (*.f64 x (*.f64 x 6)) (*.f64 x 8)))
(*.f64 (-.f64 4 (*.f64 x 3)) (neg.f64 x))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 3) -4)) (*.f64 x 1/2))
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (*.f64 x 3) -4)))
(*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 6) 8))
(*.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))
(*.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) 2)
(*.f64 (*.f64 (+.f64 (*.f64 x 3) -4) 1/2) (+.f64 x x))
(*.f64 (/.f64 (+.f64 (*.f64 x 3) -4) 2) (+.f64 x x))
(*.f64 (neg.f64 x) (-.f64 4 (*.f64 x 3)))
(*.f64 (neg.f64 (-.f64 4 (*.f64 x 3))) x)
(*.f64 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4) 4)
(*.f64 (-.f64 (*.f64 x 3/2) 2) (+.f64 x x))
(/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)
(/.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 2)
(/.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)
(/.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 4)
(/.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) 16)
(/.f64 (*.f64 2 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) -4)
(/.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))))) 4)
(neg.f64 (*.f64 x (-.f64 4 (*.f64 x 3))))
Outputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 3 (*.f64 x -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 x (*.f64 x 3)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x 3)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 x (+.f64 x x)) (*.f64 x x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x 3/2)) (*.f64 x (*.f64 x 3/2)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x 3)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 3)) 1)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 6)) 2)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 12)) 4)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 x (*.f64 x 12))) 8)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) 16)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 x 12))))) 32)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4)))) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 3/2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 2)) (*.f64 x (+.f64 (*.f64 x 3) -4)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) 1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(-.f64 (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) (+.f64 1 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))) -1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)) 1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 6) 2)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12) 4)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)) 8)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) 16)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) 12)))) 32)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3)))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 x (*.f64 x 3)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 0)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1) -1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 0 (*.f64 x (+.f64 (*.f64 x 3) -4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 x (*.f64 x 3)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (neg.f64 (*.f64 x 4)) (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) (*.f64 x (-.f64 (*.f64 x 3/2) 2)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) -1) 1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (+.f64 -1 (+.f64 (*.f64 x (*.f64 x 3)) 1)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 x (+.f64 (*.f64 x 3) -4))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 x 3))))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 4 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 4 (-.f64 (/.f64 (*.f64 x (*.f64 x 3)) 4) x))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1 (*.f64 x (+.f64 (*.f64 x 3) -4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 2 (*.f64 x (-.f64 (*.f64 x 3/2) 2)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 -1 (*.f64 x (-.f64 4 (*.f64 x 3))))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 1/2)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 x 3) -4) 1/2))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (*.f64 x 3) -4) 2))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (+.f64 x x) (-.f64 (*.f64 x 3/2) 2))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (+.f64 (*.f64 x 3) -4) x)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 1/4)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1/2 (-.f64 (*.f64 x (*.f64 x 6)) (*.f64 x 8)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (-.f64 4 (*.f64 x 3)) (neg.f64 x))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 3) -4)) (*.f64 x 1/2))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (*.f64 x 3) -4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 6) 8))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1/4 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x (-.f64 (*.f64 x 3/2) 2)) 2)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 (+.f64 (*.f64 x 3) -4) 1/2) (+.f64 x x))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (/.f64 (+.f64 (*.f64 x 3) -4) 2) (+.f64 x x))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (neg.f64 x) (-.f64 4 (*.f64 x 3)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (neg.f64 (-.f64 4 (*.f64 x 3))) x)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 4) 4)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (-.f64 (*.f64 x 3/2) 2) (+.f64 x x))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (+.f64 (*.f64 x 3) -4)) 1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (*.f64 2 (+.f64 (*.f64 x 3) -4))) 2)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (-.f64 4 (*.f64 x 3))) -1)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)) 4)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))) -2)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))) 8)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) 16)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) -4)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) 2)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x 4) (+.f64 (*.f64 x 3) -4))))) 32)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (+.f64 (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3))))) (neg.f64 (*.f64 x (*.f64 2 (-.f64 4 (*.f64 x 3)))))) 4)
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(neg.f64 (*.f64 x (-.f64 4 (*.f64 x 3))))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))

eval167.0ms (1.4%)

Compiler

Compiled 2813 to 2329 computations (17.2% saved)

prune504.0ms (4.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1816187
Fresh000
Picked101
Done011
Total1827189
Error
0.0b
Counts
189 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
18.9b
(+.f64 (*.f64 -12 x) 3)
0.2b
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
0.1b
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
2.4b
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
19.3b
3
Compiler

Compiled 122 to 100 computations (18% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.2b
(*.f64 3 (*.f64 x x))
Compiler

Compiled 49 to 30 computations (38.8% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite91.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1996×bool.json-1
1996×bool.json-2
1528×bool.json-3
948×rational.json-simplify-35
796×rational.json-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01275
112863
235563
377263
4223863
5664963
Stop Event
node limit
Counts
3 → 55
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x x))
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) (*.f64 2 (*.f64 (*.f64 x x) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x x)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x x)) (*.f64 3 (*.f64 x x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (+.f64 (-.f64 1 (*.f64 x 4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x 4)) (+.f64 (+.f64 (*.f64 3 (*.f64 x x)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (*.f64 3 x) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 (*.f64 3 (*.f64 x x)) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x (-.f64 4 (*.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (-.f64 (/.f64 (*.f64 3 x) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 3 x) -4) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (-.f64 4 (*.f64 3 x)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (+.f64 (*.f64 3 x) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (+.f64 (*.f64 3 x) -4)) (*.f64 x (+.f64 (*.f64 3 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (+.f64 (*.f64 3 x) -4)) (*.f64 x (+.f64 (*.f64 3 x) -4)))))))

simplify102.0ms (0.9%)

Algorithm
egg-herbie
Rules
1658×rational.json-simplify-35
1294×rational.json-simplify-2
908×rational.json-simplify-51
894×rational.json-simplify-40
734×rational.json-simplify-38
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01282905
13042481
27681941
329511843
Stop Event
node limit
Counts
91 → 87
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))
(+.f64 (*.f64 3 (*.f64 x x)) 0)
(+.f64 0 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))
(-.f64 (*.f64 3 (*.f64 x x)) 0)
(/.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (*.f64 x (*.f64 x 6)) 2)
(/.f64 (*.f64 (*.f64 x x) 12) 4)
(/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) (*.f64 2 (*.f64 (*.f64 x x) 12))) 16)
(fabs.f64 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 1 (+.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)))
(+.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12))) 16)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (+.f64 (-.f64 1 (*.f64 x 4)) -1))
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(+.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) -1))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) -1)
(+.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(+.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))
(+.f64 (neg.f64 (*.f64 x 4)) (+.f64 (+.f64 (*.f64 3 (*.f64 x x)) 1) -1))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(*.f64 1 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(*.f64 2 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(*.f64 2 (-.f64 (/.f64 (*.f64 3 (*.f64 x x)) 2) (+.f64 x x)))
(*.f64 -1 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 1/2)
(*.f64 (+.f64 x x) (-.f64 (/.f64 (*.f64 3 x) 2) 2))
(*.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)
(*.f64 (+.f64 (*.f64 3 x) -4) x)
(*.f64 1/2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(*.f64 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)
(/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)
(/.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)
(/.f64 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))) 4)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) 8)
(/.f64 (*.f64 2 (*.f64 x (-.f64 4 (*.f64 3 x)))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))))) 16)
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
Outputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 3 (*.f64 x -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 3 (+.f64 (*.f64 x -12) (*.f64 (pow.f64 x 2) 9)))
(+.f64 (*.f64 x -12) (+.f64 3 (*.f64 (pow.f64 x 2) 9)))
(+.f64 (+.f64 3 (*.f64 x -12)) (*.f64 (pow.f64 x 2) 9))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 x -4))
(+.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(+.f64 (*.f64 3 (*.f64 x x)) 0)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(+.f64 0 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(+.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(-.f64 (*.f64 3 (*.f64 x x)) 0)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (*.f64 3 (*.f64 x x)) 1)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (*.f64 x (*.f64 x 6)) 2)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (*.f64 (*.f64 x x) 12) 4)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) 8)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 12)) (*.f64 2 (*.f64 (*.f64 x x) 12))) 16)
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(fabs.f64 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 x x) (*.f64 2 (*.f64 x x)))
(*.f64 x (+.f64 x (+.f64 x x)))
(*.f64 x (*.f64 3 x))
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) (+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 1 (+.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 0 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (+.f64 1 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2)) (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(-.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 0)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(/.f64 (*.f64 3 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)) 1)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 6) 2)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12) 4)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) 8)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12)) (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) 12))) 16)
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (+.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (+.f64 1 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (+.f64 (*.f64 2 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 3))
(+.f64 (*.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) 3) 3)
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 3 (*.f64 x x)) (+.f64 (-.f64 1 (*.f64 x 4)) -1))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 0)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) -1))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1) -1)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 0 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 -1 (+.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (neg.f64 (*.f64 x 4)) (+.f64 (+.f64 (*.f64 3 (*.f64 x x)) 1) -1))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1 (*.f64 x (+.f64 (*.f64 3 x) -4)))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 2 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 2 (-.f64 (/.f64 (*.f64 3 (*.f64 x x)) 2) (+.f64 x x)))
(*.f64 2 (-.f64 (*.f64 (*.f64 x x) 3/2) (+.f64 x x)))
(*.f64 2 (-.f64 (*.f64 x (*.f64 x 3/2)) (+.f64 x x)))
(*.f64 2 (*.f64 x (-.f64 (*.f64 x 3/2) 2)))
(*.f64 -1 (*.f64 x (-.f64 4 (*.f64 3 x))))
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (-.f64 4 (*.f64 3 x)) (neg.f64 x))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 3 x))))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(*.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 1/2)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (+.f64 x x) (-.f64 (/.f64 (*.f64 3 x) 2) 2))
(*.f64 (+.f64 x x) (-.f64 (*.f64 x 3/2) 2))
(*.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (-.f64 4 (*.f64 3 x)) (neg.f64 x))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 3 x))))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(*.f64 (+.f64 (*.f64 3 x) -4) x)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 1/2 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 (/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 1)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 3 x) -4)) 2) 2)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 x (-.f64 4 (*.f64 3 x))) -1)
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (-.f64 4 (*.f64 3 x)) (neg.f64 x))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 3 x))))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))) 4)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) 8)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(/.f64 (*.f64 2 (*.f64 x (-.f64 4 (*.f64 3 x)))) -2)
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (-.f64 4 (*.f64 3 x)) (neg.f64 x))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 3 x))))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4)))) (*.f64 2 (*.f64 4 (*.f64 x (+.f64 (*.f64 3 x) -4))))) 16)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(neg.f64 (*.f64 x (-.f64 4 (*.f64 3 x))))
(*.f64 (-.f64 4 (*.f64 3 x)) (neg.f64 x))
(*.f64 x (neg.f64 (-.f64 4 (*.f64 3 x))))
(*.f64 x (-.f64 (*.f64 3 x) 4))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 -12 x) 3)
Compiler

Compiled 12 to 9 computations (25% saved)

series0.0ms (0%)

Counts
1 → 9
Calls

3 calls:

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

rewrite688.0ms (5.8%)

Algorithm
batch-egg-rewrite
Rules
1876×bool.json-1
1876×bool.json-2
1120×rational.json-1
1120×rational.json-2
1120×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17013
219013
338713
479413
5170513
6411213
7724013
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(+.f64 (*.f64 -12 x) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -12 x) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -12 x) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -12 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x -24) 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x -24) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -12 x) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -12 x) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x -24) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 -12 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 -12 x) 3) (+.f64 (*.f64 -12 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 -12 x) 3) (+.f64 (*.f64 -12 x) 3))))))

simplify858.0ms (7.2%)

Algorithm
egg-herbie
Rules
6634×rational.json-simplify-51
2526×rational.json-simplify-35
1432×rational.json-simplify-2
1306×rational.json-simplify-49
1236×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049340
194340
2257340
3721340
41242340
52711340
63471340
73533340
83571340
93596340
104053340
114182340
124241340
134298340
144339340
154380340
164421340
174462340
184503340
195418340
205461340
215498340
225533340
235567340
245601340
255865340
265899340
275933340
285967340
296001340
306035340
316069340
326103340
336137340
346171340
356171340
366205340
Stop Event
node limit
Counts
28 → 22
Calls
Call 1
Inputs
3
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(-.f64 (+.f64 (*.f64 -12 x) 3) 0)
(*.f64 (+.f64 (*.f64 -12 x) 3) 1)
(*.f64 1 (+.f64 (*.f64 -12 x) 3))
(*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2))
(*.f64 (+.f64 (*.f64 x -24) 6) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 1/8)
(*.f64 1/2 (+.f64 (*.f64 x -24) 6))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -12 x) 3) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4) 4)
(/.f64 (+.f64 (*.f64 -12 x) 3) 1)
(/.f64 (+.f64 (*.f64 x -24) 6) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)))) 64)
Outputs
3
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(-.f64 (+.f64 (*.f64 -12 x) 3) 0)
(+.f64 3 (*.f64 -12 x))
(*.f64 (+.f64 (*.f64 -12 x) 3) 1)
(+.f64 3 (*.f64 -12 x))
(*.f64 1 (+.f64 (*.f64 -12 x) 3))
(+.f64 3 (*.f64 -12 x))
(*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2))
(+.f64 3 (*.f64 -12 x))
(*.f64 (+.f64 (*.f64 x -24) 6) 1/2)
(+.f64 3 (*.f64 -12 x))
(*.f64 4 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4))
(+.f64 3 (*.f64 -12 x))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 1/4)
(+.f64 3 (*.f64 -12 x))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 1/8)
(+.f64 3 (*.f64 -12 x))
(*.f64 1/2 (+.f64 (*.f64 x -24) 6))
(+.f64 3 (*.f64 -12 x))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/2) 2)
(+.f64 3 (*.f64 -12 x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -12 x) 3) 4))
(+.f64 3 (*.f64 -12 x))
(*.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 1/4) 4)
(+.f64 3 (*.f64 -12 x))
(/.f64 (+.f64 (*.f64 -12 x) 3) 1)
(+.f64 3 (*.f64 -12 x))
(/.f64 (+.f64 (*.f64 x -24) 6) 2)
(+.f64 3 (*.f64 -12 x))
(/.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 4) 4)
(+.f64 3 (*.f64 -12 x))
(/.f64 (*.f64 (+.f64 (*.f64 -12 x) 3) 8) 8)
(+.f64 3 (*.f64 -12 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)) 16)
(+.f64 3 (*.f64 -12 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) 32)
(+.f64 3 (*.f64 -12 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -12 x) 3) 8)))) 64)
(+.f64 3 (*.f64 -12 x))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x (*.f64 3 x)) 1)
0.1b
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
0.2b
(*.f64 x (*.f64 3 x))
Compiler

Compiled 28 to 20 computations (28.6% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite79.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1290×rational.json-simplify-35
1140×bool.json-1
1140×bool.json-2
1106×rational.json-1
1106×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0957
110057
229057
358257
4121557
5336457
Stop Event
node limit
Counts
3 → 51
Calls
Call 1
Inputs
(*.f64 x (*.f64 3 x))
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
(+.f64 (*.f64 x (*.f64 3 x)) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2)) (*.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 x x) 2) (/.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 6) (*.f64 x 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 x 3)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 x 3)) (*.f64 x (*.f64 x 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 2 (*.f64 (*.f64 x x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 x 3)) 2) (+.f64 1 (*.f64 (*.f64 x x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 2 (*.f64 (*.f64 x x) 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (*.f64 x 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 (*.f64 x x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 x (*.f64 x 3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 1))))))

simplify93.0ms (0.8%)

Algorithm
egg-herbie
Rules
1166×rational.json-simplify-1
1128×rational.json-simplify-35
724×rational.json-simplify-2
704×rational.json-simplify-41
698×rational.json-simplify-40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01112235
12512007
26101551
326861437
471981437
Stop Event
node limit
Counts
87 → 68
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
1
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 x (*.f64 x 3)) 0)
(+.f64 0 (*.f64 x (*.f64 x 3)))
(+.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))
(+.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))
(+.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x x) 3/2))
(+.f64 (/.f64 (*.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2)) (*.f64 x x)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 (*.f64 x x) 2) (/.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x 3)) 0)
(/.f64 (*.f64 x (*.f64 x 3)) 1)
(/.f64 (*.f64 (*.f64 x x) 6) 2)
(/.f64 (*.f64 (*.f64 x x) 12) 4)
(/.f64 (*.f64 (*.f64 x 6) (*.f64 x 4)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4)))) 32)
(+.f64 (*.f64 x (*.f64 x 3)) (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))))
(+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 2 (*.f64 (*.f64 x x) 6)))
(+.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)
(+.f64 0 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2))
(+.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 1))
(+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 2) (+.f64 1 (*.f64 (*.f64 x x) 6)))
(+.f64 (+.f64 1 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 2))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2))
(+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)) (*.f64 x (*.f64 x 3)))
(+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) 1)
(-.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)
(-.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) -1)
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 1)
(/.f64 (*.f64 3 (+.f64 2 (*.f64 (*.f64 x x) 6))) 2)
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 6) 4)
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12))) 32)
(-.f64 (*.f64 x (*.f64 x 3)) -1)
(-.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 0)
(*.f64 1 (+.f64 (*.f64 x (*.f64 x 3)) 1))
(*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)
(*.f64 2 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))
(*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 1/2)
(*.f64 4 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8))
(*.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 (*.f64 x x) 6)))
(*.f64 1/4 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))))
(*.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 2)
(*.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8) 4)
(/.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)
(/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 2)
(/.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 4)
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))) 32)
Outputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(*.f64 9 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) 9)
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
(+.f64 3 (*.f64 9 (pow.f64 x 2)))
(+.f64 3 (*.f64 (pow.f64 x 2) 9))
1
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 3 (pow.f64 x 2)) 1)
(+.f64 (*.f64 x (*.f64 x 3)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x 3)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 (*.f64 x x) 2) (*.f64 x x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 (*.f64 x x) 3/2) (*.f64 (*.f64 x x) 3/2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (/.f64 (*.f64 (*.f64 x x) (*.f64 (*.f64 x x) 2)) (*.f64 x x)) (*.f64 x x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (/.f64 (*.f64 (*.f64 x x) 2) (/.f64 (fabs.f64 x) (fabs.f64 x))) (*.f64 x x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x 3)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 3)) 1)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 (*.f64 x x) 6) 2)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 (*.f64 x x) 12) 4)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 (*.f64 x 6) (*.f64 x 4)) 8)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) 16)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4))) (*.f64 2 (*.f64 (*.f64 x 6) (*.f64 x 4)))) 32)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x 3)) (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 1 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 2 (*.f64 (*.f64 x x) 6)))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 0 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 1))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 2) (+.f64 1 (*.f64 (*.f64 x x) 6)))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 1 (*.f64 (*.f64 x x) 6)) (+.f64 (*.f64 x (*.f64 x 3)) 2))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2) (*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 3/2))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 (*.f64 x (*.f64 x 3)) 2)) (*.f64 x (*.f64 x 3)))
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) 1)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(-.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 0)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(-.f64 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) (+.f64 1 (*.f64 (*.f64 x x) 6))) -1)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 3/2) 1)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (*.f64 3 (+.f64 2 (*.f64 (*.f64 x x) 6))) 2)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 6) 4)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12) 8)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) 16)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 12))) 32)
(+.f64 (*.f64 x (*.f64 3 x)) (+.f64 (*.f64 x (*.f64 3 x)) (+.f64 2 (+.f64 1 (*.f64 x (*.f64 3 x))))))
(+.f64 (+.f64 1 (*.f64 3 (*.f64 x x))) (*.f64 2 (+.f64 1 (*.f64 3 (*.f64 x x)))))
(*.f64 3 (+.f64 (*.f64 3 (*.f64 x x)) 1))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(-.f64 (*.f64 x (*.f64 x 3)) -1)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(-.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 0)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 1 (+.f64 (*.f64 x (*.f64 x 3)) 1))
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 2 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 1/2)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 4 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8))
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 1/4)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 1/2 (+.f64 2 (*.f64 (*.f64 x x) 6)))
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 1/4 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))))
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 2)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 8) 4)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (+.f64 (*.f64 x (*.f64 x 3)) 1) 1)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 2)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (*.f64 2 (+.f64 2 (*.f64 (*.f64 x x) 6))) 4)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4) 8)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) 16)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4)) (*.f64 2 (*.f64 (+.f64 2 (*.f64 (*.f64 x x) 6)) 4))) 32)
(+.f64 1 (*.f64 x (*.f64 3 x)))
(+.f64 1 (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 x x)) 1)

localize80.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
0.0b
(+.f64 -4 (*.f64 3 x))
0.1b
(*.f64 3 (+.f64 -4 (*.f64 3 x)))
0.1b
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x))))
Compiler

Compiled 39 to 31 computations (20.5% saved)

series2.0ms (0%)

Counts
4 → 48
Calls

12 calls:

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

rewrite749.0ms (6.3%)

Algorithm
batch-egg-rewrite
Rules
1388×rational.json-simplify-35
1334×bool.json-1
1334×bool.json-2
1292×rational.json-1
1292×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01088
110288
226688
354388
4113488
5256488
6528288
Stop Event
node limit
Counts
4 → 68
Calls
Call 1
Inputs
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x))))
(*.f64 3 (+.f64 -4 (*.f64 3 x)))
(+.f64 -4 (*.f64 3 x))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 -4 (*.f64 x 3))) (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)) (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3) (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (+.f64 -4 (*.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (+.f64 -4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) (+.f64 -4 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -4 (*.f64 x 6)) (+.f64 (*.f64 x 3) -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x 3) -8) (+.f64 -4 (*.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2) (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)) (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (+.f64 -4 (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (+.f64 -4 (*.f64 x 3))) (*.f64 3 (+.f64 -4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (+.f64 -4 (*.f64 x 3))) (*.f64 3 (+.f64 -4 (*.f64 x 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -4 (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -4 (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -4 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -4 (*.f64 x 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -4 (+.f64 -4 (*.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -4 (*.f64 x 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -4 (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 -4 (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))))))

simplify572.0ms (4.8%)

Algorithm
egg-herbie
Rules
3210×rational.json-simplify-2
3062×rational.json-simplify-53
2702×rational.json-simplify-35
1358×rational.json-simplify-1
930×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01442618
13052390
28352276
320571976
440521976
547571976
649811976
751021976
852151976
953221976
1066061976
1167081976
1267101976
1367101976
1468081976
1569061976
1670041976
Stop Event
node limit
Counts
116 → 93
Calls
Call 1
Inputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
-12
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
-4
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(*.f64 3 x)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(*.f64 3 x)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)
(+.f64 0 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 x 3))) (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)))
(+.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 x 3))))
(+.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)) (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)))
(-.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)
(/.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 1)
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 12)) 4)
(/.f64 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)))) 64)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)))
(+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)
(+.f64 0 (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) (+.f64 -4 (*.f64 x 3)))
(+.f64 (+.f64 -4 (*.f64 x 6)) (+.f64 (*.f64 x 3) -8))
(+.f64 (+.f64 (*.f64 x 3) -8) (+.f64 -4 (*.f64 x 6)))
(+.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2) (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2))
(+.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))) -4)
(+.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)) (*.f64 x 3))
(-.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)
(/.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 1)
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 6) 2)
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 12) 4)
(/.f64 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)))) 64)
(-.f64 (+.f64 -4 (*.f64 x 3)) 0)
(*.f64 (+.f64 -4 (*.f64 x 3)) 1)
(*.f64 1 (+.f64 -4 (*.f64 x 3)))
(*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2))
(*.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 1/2)
(*.f64 4 (/.f64 (+.f64 -4 (*.f64 x 3)) 4))
(*.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 1/4)
(*.f64 1/2 (+.f64 -4 (+.f64 -4 (*.f64 x 6))))
(*.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 -4 (*.f64 x 3)) 4))
(*.f64 (/.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)
(/.f64 (+.f64 -4 (*.f64 x 3)) 1)
(/.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 2)
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)))) 64)
(-.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 0)
(*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)
(*.f64 1 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))
(*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2))
(*.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 1/2)
(*.f64 4 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))
(*.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 1/4)
(*.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))))
(*.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))
(*.f64 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)
(/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)
(/.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 2)
(/.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)
(/.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)))) 64)
Outputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
-12
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 x 9) 12)
-4
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(*.f64 3 x)
(*.f64 x 3)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(*.f64 3 x)
(*.f64 x 3)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 x 3) 4)
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 0 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 x 3))) (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)) (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(-.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 0)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 1)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)) 2)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 x 3)) 12)) 4)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8) 8)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)) 16)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) 32)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))) 8)))) 64)
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (*.f64 x 3) (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (+.f64 -4 (*.f64 x 6))))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 0 (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) (+.f64 -4 (*.f64 x 3)))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 -4 (*.f64 x 6)) (+.f64 (*.f64 x 3) -8))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 (*.f64 x 3) -8) (+.f64 -4 (*.f64 x 6)))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2) (*.f64 (+.f64 -4 (*.f64 x 3)) 3/2))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))) -4)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(+.f64 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 (*.f64 x 3) -8)) (*.f64 x 3))
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(-.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 0)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 1)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 6) 2)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 12) 4)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8) 8)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)) 16)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) 32)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 3 (+.f64 -4 (*.f64 x 3))) 8)))) 64)
(+.f64 -4 (+.f64 (+.f64 -4 (*.f64 x 3)) (+.f64 -4 (*.f64 x 6))))
(+.f64 (*.f64 x 3) (+.f64 (*.f64 x 6) -12))
(+.f64 -8 (+.f64 -4 (*.f64 x 9)))
(+.f64 -12 (*.f64 x 9))
(-.f64 (+.f64 -4 (*.f64 x 3)) 0)
(+.f64 -4 (*.f64 x 3))
(*.f64 (+.f64 -4 (*.f64 x 3)) 1)
(+.f64 -4 (*.f64 x 3))
(*.f64 1 (+.f64 -4 (*.f64 x 3)))
(+.f64 -4 (*.f64 x 3))
(*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2))
(+.f64 -4 (*.f64 x 3))
(*.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 1/2)
(+.f64 -4 (*.f64 x 3))
(*.f64 4 (/.f64 (+.f64 -4 (*.f64 x 3)) 4))
(+.f64 -4 (*.f64 x 3))
(*.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 1/4)
(+.f64 -4 (*.f64 x 3))
(*.f64 1/2 (+.f64 -4 (+.f64 -4 (*.f64 x 6))))
(+.f64 -4 (*.f64 x 3))
(*.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 1/2) 2)
(+.f64 -4 (*.f64 x 3))
(*.f64 1/4 (*.f64 (+.f64 -4 (*.f64 x 3)) 4))
(+.f64 -4 (*.f64 x 3))
(*.f64 (/.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)
(+.f64 -4 (*.f64 x 3))
(/.f64 (+.f64 -4 (*.f64 x 3)) 1)
(+.f64 -4 (*.f64 x 3))
(/.f64 (+.f64 -4 (+.f64 -4 (*.f64 x 6))) 2)
(+.f64 -4 (*.f64 x 3))
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 4) 4)
(+.f64 -4 (*.f64 x 3))
(/.f64 (*.f64 (+.f64 -4 (*.f64 x 3)) 8) 8)
(+.f64 -4 (*.f64 x 3))
(/.f64 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)) 16)
(+.f64 -4 (*.f64 x 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) 32)
(+.f64 -4 (*.f64 x 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -4 (*.f64 x 3)) 8)))) 64)
(+.f64 -4 (*.f64 x 3))
(-.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 0)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 1/2)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 4 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 1/4)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1/2) 2)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1/4 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 1)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 6)))) 2)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 4) 4)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8) 8)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)) 16)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) 32)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))) 8)))) 64)
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 -4 (*.f64 3 x))
0.0b
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
0.2b
(*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x))
Compiler

Compiled 32 to 25 computations (21.9% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite86.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1314×rational.json-simplify-35
1292×bool.json-1
1292×bool.json-2
1250×rational.json-1
1250×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0956
19256
224956
352456
4109356
5246756
6509056
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)) (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 3 x)) 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))))))

simplify974.0ms (8.1%)

Algorithm
egg-herbie
Rules
4784×rational.json-simplify-51
2176×rational.json-simplify-35
1236×rational.json-simplify-2
698×rational.json-simplify-1
528×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0851417
11821417
24241417
311641417
422741417
529291417
631591417
732811417
833921417
934911417
1035851417
1136791417
1238551417
1339531417
1440561417
1540681417
1640781417
1740791417
1840791417
1977381417
Stop Event
node limit
Counts
55 → 47
Calls
Call 1
Inputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)
(+.f64 0 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)))
(+.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 3 x))))
(+.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)) (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)))
(-.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)
(/.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 1)
(/.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 3 x)) 12)) 4)
(/.f64 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 8)
(/.f64 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))))) 64)
(-.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 0)
(*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)
(*.f64 1 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2))
(*.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 1/2)
(*.f64 4 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))
(*.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 1/4)
(*.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))))
(*.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))
(*.f64 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)
(/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)
(/.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 2)
(/.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)
(/.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)))) 64)
Outputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 0 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))))
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 (*.f64 x (+.f64 -4 (*.f64 3 x))) (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)))
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (+.f64 x x)) (*.f64 x (+.f64 -4 (*.f64 3 x))))
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(+.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)) (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 3/2)))
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(-.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 0)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 1)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)) 2)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 x (*.f64 (+.f64 -4 (*.f64 3 x)) 12)) 4)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))) 8)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 16)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) 32)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x)))))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 x (+.f64 -4 (*.f64 3 x))))))) 64)
(*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3))))
(*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3))
(*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3)))
(*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3))))
(-.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 0)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 1 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 1/2)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 4 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 1/4)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 1/2 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1/2) 2)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 1/4 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4))
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(*.f64 (/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 1)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (+.f64 3 (+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 x 6)))) 2)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 4) 4)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8) 8)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)) 16)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) 32)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 3 x))))) 8)))) 64)
(+.f64 3 (*.f64 3 (*.f64 x (+.f64 -4 (*.f64 x 3)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 x 3)) (*.f64 x 3)))
(+.f64 3 (*.f64 (*.f64 x 3) (+.f64 -4 (*.f64 x 3))))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 x 3)))))

eval232.0ms (1.9%)

Compiler

Compiled 4627 to 3760 computations (18.7% saved)

prune211.0ms (1.8%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New3365341
Fresh011
Picked101
Done145
Total33810348
Error
0.0b
Counts
348 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
18.9b
(+.f64 (*.f64 -12 x) 3)
2.3b
(+.f64 3 (*.f64 (*.f64 x x) 9))
0.1b
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
2.3b
(+.f64 3 (*.f64 x (*.f64 x 9)))
0.1b
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
0.1b
(*.f64 3 (+.f64 (-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4)) 1))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
2.4b
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
61.4b
(*.f64 -12 x)
19.3b
3
Compiler

Compiled 138 to 109 computations (21% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
0.1b
(*.f64 x (-.f64 (*.f64 x 9) 12))
Compiler

Compiled 29 to 22 computations (24.1% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 x (-.f64 (*.f64 x 9) 12))
0.0ms
x
@inf
(*.f64 x (-.f64 (*.f64 x 9) 12))
0.0ms
x
@-inf
(*.f64 x (-.f64 (*.f64 x 9) 12))
0.0ms
x
@inf
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
0.0ms
x
@-inf
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))

rewrite108.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1766×bool.json-1
1766×bool.json-2
1250×rational.json-simplify-35
1100×bool.json-3
1092×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
19844
224444
348444
499744
5217444
6441244
7702744
Stop Event
node limit
Counts
2 → 29
Calls
Call 1
Inputs
(*.f64 x (-.f64 (*.f64 x 9) 12))
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 (*.f64 x 9) -12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 (*.f64 x 9) -12) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (+.f64 (*.f64 x 9) -12))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (+.f64 (*.f64 x 9) -12)) (*.f64 x (+.f64 (*.f64 x 9) -12)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (+.f64 (*.f64 x 9) -12)) (*.f64 x (+.f64 (*.f64 x 9) -12)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3))))))

simplify798.0ms (6.7%)

Algorithm
egg-herbie
Rules
3540×rational.json-simplify-35
3450×rational.json-simplify-41
1722×rational.json-simplify-2
548×rational.json-simplify-53
536×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0741193
11651193
24181193
311151193
422081193
528291193
631611193
733061193
834071193
935011193
1035891193
1136761193
1238641193
1339721193
1440981193
1541201193
1641241193
1741241193
1868451193
1970021193
2071731193
2172961193
2274311193
2375421193
2476341193
2577251193
2678121193
2778991193
2879861193
Stop Event
node limit
Counts
53 → 39
Calls
Call 1
Inputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)
(+.f64 0 (*.f64 x (+.f64 (*.f64 x 9) -12)))
(+.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)))
(-.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)
(/.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 1)
(/.f64 (*.f64 x (*.f64 (+.f64 (*.f64 x 9) -12) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 4)) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)))) 64)
(-.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 0)
(*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)
(*.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)
(/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)))) 64)
Outputs
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 (*.f64 9 (pow.f64 x 2)) 3))
(+.f64 (*.f64 9 (pow.f64 x 2)) (+.f64 (*.f64 -12 x) 3))
(+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 0 (*.f64 x (+.f64 (*.f64 x 9) -12)))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(+.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)) (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 1/2)))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(-.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 0)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 1)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 x (*.f64 (+.f64 (*.f64 x 9) -12) 2)) 2)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 (+.f64 (*.f64 x 9) -12) (*.f64 x 4)) 4)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8) 8)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)) 16)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) 32)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 8)))) 64)
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(-.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 0)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 1/2)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 1/4)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1/2) 2)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4))
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(*.f64 (/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 1)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 2) 2)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 4) 4)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8) 8)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)) 16)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) 32)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 (*.f64 x 9) -12)) 3) 8)))) 64)
(+.f64 3 (*.f64 x (+.f64 -12 (*.f64 x 9))))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (*.f64 x 9))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite71.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1404×bool.json-1
1404×bool.json-2
1358×rational.json-1
1358×rational.json-2
1358×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16113
217613
338013
477913
5174913
6437113
Stop Event
node limit
Counts
1 → 10
Calls
Call 1
Inputs
(*.f64 x (*.f64 x 9))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 18) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 36) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 x x) 18) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))))

simplify125.0ms (1%)

Algorithm
egg-herbie
Rules
1356×rational.json-simplify-51
1290×rational.json-simplify-19
1152×rational.json-simplify-1
968×rational.json-simplify-2
898×rational.json-simplify-46
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036286
177286
2162286
3394286
41459286
54786286
66508286
77505286
Stop Event
node limit
Counts
22 → 13
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(+.f64 0 (*.f64 x (*.f64 x 9)))
(+.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(/.f64 (*.f64 (*.f64 x x) 18) 2)
(/.f64 (*.f64 (*.f64 x x) 36) 4)
(/.f64 (*.f64 (*.f64 (*.f64 x x) 18) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4))) 32)
Outputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x 9)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 (*.f64 x x) 18) 2)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 (*.f64 x x) 36) 4)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 (*.f64 (*.f64 x x) 18) 4) 8)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) 16)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4)) (*.f64 2 (*.f64 (*.f64 (*.f64 x x) 18) 4))) 32)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x x) 9)
Compiler

Compiled 19 to 10 computations (47.4% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1548×bool.json-1
1548×bool.json-2
1512×rational.json-1
1512×rational.json-2
1512×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16213
219113
346513
4157913
5517613
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) 9)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 18)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) 36) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 9 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) (*.f64 2 (*.f64 (*.f64 x x) 36))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))))

simplify85.0ms (0.7%)

Algorithm
egg-herbie
Rules
1590×rational.json-simplify-51
1492×rational.json-simplify-2
1444×rational.json-simplify-1
794×rational.json-simplify-49
776×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035273
181273
2184273
3615273
43094273
57184273
Stop Event
node limit
Counts
21 → 13
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(+.f64 0 (*.f64 x (*.f64 x 9)))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(/.f64 (*.f64 x (*.f64 x 18)) 2)
(/.f64 (*.f64 (*.f64 x x) 36) 4)
(/.f64 (*.f64 9 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) (*.f64 2 (*.f64 (*.f64 x x) 36))) 16)
Outputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(+.f64 0 (*.f64 x (*.f64 x 9)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (*.f64 x (*.f64 x 18)) 2)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (*.f64 (*.f64 x x) 36) 4)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (*.f64 9 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) 8)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x x) 36)) (*.f64 2 (*.f64 (*.f64 x x) 36))) 16)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(*.f64 x (/.f64 x 1/9))

localize25.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4))
0.1b
(*.f64 3 (+.f64 (-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4)) 1))
0.2b
(/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
Compiler

Compiled 72 to 46 computations (36.1% saved)

series6.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite99.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
848×rational.json-simplify-35
820×rational.json-simplify-46
672×rational.json-simplify-40
670×bool.json-1
670×bool.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
015117
116499
251375
3160963
4739663
Stop Event
node limit
Counts
3 → 70
Calls
Call 1
Inputs
(/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x)))
(*.f64 3 (+.f64 (-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4)) 1))
(-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 3 (/.f64 x (fabs.f64 x))) (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 x 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 x) (*.f64 3 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (fabs.f64 x)) (fabs.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (*.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1 (/.f64 2/3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (/.f64 3 (/.f64 2 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (*.f64 1/2 (*.f64 3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (*.f64 3/2 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 6) (/.f64 (fabs.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 6) (*.f64 1/2 (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 x) 6) (*.f64 (/.f64 (fabs.f64 x) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (/.f64 (*.f64 x x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 (/.f64 (fabs.f64 x) 2) (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 (/.f64 (*.f64 x x) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (/.f64 x (/.f64 1/3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 x (fabs.f64 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 3 (fabs.f64 x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x 1/3) (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (*.f64 x (*.f64 3 (fabs.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 x) 2) (*.f64 (fabs.f64 x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1/3) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) (/.f64 x (fabs.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) 2) 6)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 3 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x x)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x x)) (*.f64 3 (*.f64 x x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (-.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (-.f64 (/.f64 x 1/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (-.f64 (/.f64 x 1/3) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (-.f64 (/.f64 x 1/3) 4)) (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (-.f64 (/.f64 x 1/3) 4)) (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))))

simplify108.0ms (0.9%)

Algorithm
egg-herbie
Rules
1254×rational.json-simplify-2
1130×rational.json-simplify-35
818×rational.json-simplify-54
734×rational.json-simplify-1
710×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01522086
13402078
26982066
322312058
462422058
Stop Event
node limit
Counts
106 → 92
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (*.f64 x x)) 0)
(+.f64 0 (*.f64 3 (*.f64 x x)))
(-.f64 (*.f64 3 (*.f64 x x)) 0)
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))))
(*.f64 x (/.f64 x 1/3))
(*.f64 x (*.f64 x 3))
(*.f64 x (*.f64 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x))) 3))
(*.f64 x (*.f64 (*.f64 3 (/.f64 x (fabs.f64 x))) (fabs.f64 x)))
(*.f64 x (*.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 1))
(*.f64 x (*.f64 (/.f64 x 1/3) 1))
(*.f64 (fabs.f64 x) (*.f64 3 (fabs.f64 x)))
(*.f64 (*.f64 3 (fabs.f64 x)) (fabs.f64 x))
(*.f64 1 (*.f64 3 (*.f64 x x)))
(*.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 (*.f64 x x) 3)
(*.f64 (*.f64 x x) (*.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3 (fabs.f64 x))))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1 (/.f64 2/3 (fabs.f64 x))))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 3 (/.f64 2 (fabs.f64 x))))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 1/2 (*.f64 3 (fabs.f64 x))))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 3/2 (fabs.f64 x)))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) 1))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) 1))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) 1))
(*.f64 (*.f64 (fabs.f64 x) 6) (/.f64 (fabs.f64 x) 2))
(*.f64 (*.f64 (fabs.f64 x) 6) (*.f64 1/2 (fabs.f64 x)))
(*.f64 (*.f64 (fabs.f64 x) 6) (*.f64 (/.f64 (fabs.f64 x) 2) 1))
(*.f64 6 (/.f64 (*.f64 x x) 2))
(*.f64 6 (*.f64 (/.f64 (fabs.f64 x) 2) (fabs.f64 x)))
(*.f64 6 (*.f64 (/.f64 (*.f64 x x) 2) 1))
(*.f64 (/.f64 x (fabs.f64 x)) (/.f64 x (/.f64 1/3 (fabs.f64 x))))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 x (fabs.f64 x)) 3))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 3 (fabs.f64 x)) x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x 1/3) (fabs.f64 x)))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 x (*.f64 3 (fabs.f64 x))))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) 1))
(*.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) x)
(*.f64 (/.f64 (fabs.f64 x) 2) (*.f64 (fabs.f64 x) 6))
(*.f64 (/.f64 x 1/3) x)
(*.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) (/.f64 x (fabs.f64 x)))
(*.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 (/.f64 (*.f64 x x) 2) 6)
(neg.f64 (neg.f64 (*.f64 3 (*.f64 x x))))
(+.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)
(+.f64 0 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))
(-.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)
(/.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 1)
(/.f64 (*.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) 6) 2)
(/.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) 4)
(/.f64 (+.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4)) 8)
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 0)
(+.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(+.f64 0 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))
(+.f64 -1 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))
(*.f64 x (-.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 4))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))
(*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)
(*.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(/.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)
(/.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 2) 2)
(/.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(/.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) 4)
(/.f64 (+.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4)) 8)
(neg.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
Outputs
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2))))
(*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(*.f64 -12 x)
(*.f64 x -12)
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(*.f64 -12 x)
(*.f64 x -12)
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(+.f64 (*.f64 -12 x) (*.f64 3 (+.f64 1 (*.f64 3 (pow.f64 (fabs.f64 x) 2)))))
(+.f64 (*.f64 3 (+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) 1)) (*.f64 x -12))
(*.f64 3 (pow.f64 (fabs.f64 x) 2))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 -4 x) (*.f64 3 (pow.f64 (fabs.f64 x) 2)))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 (fabs.f64 x) 2)) (*.f64 x -4))
(+.f64 (*.f64 3 (*.f64 x x)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 0 (*.f64 3 (*.f64 x x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(-.f64 (*.f64 3 (*.f64 x x)) 0)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 3 x))
(*.f64 x (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (/.f64 x 1/3))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 x 3))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x))) 3))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 (*.f64 3 (/.f64 x (fabs.f64 x))) (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 (/.f64 x 1/3) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (fabs.f64 x) (*.f64 3 (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 3 (fabs.f64 x)) (fabs.f64 x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 1 (*.f64 3 (*.f64 x x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 3 (*.f64 x x)) 1)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 x x) 3)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 x x) (*.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 1 (/.f64 2/3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (/.f64 3 (/.f64 2 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 1/2 (*.f64 3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 3/2 (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 2) (*.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 6) (/.f64 (fabs.f64 x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 6) (*.f64 1/2 (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 (fabs.f64 x) 6) (*.f64 (/.f64 (fabs.f64 x) 2) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 6 (/.f64 (*.f64 x x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 6 (*.f64 (/.f64 (fabs.f64 x) 2) (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 6 (*.f64 (/.f64 (*.f64 x x) 2) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (/.f64 x (/.f64 1/3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 x (fabs.f64 x)) 3))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (*.f64 3 (fabs.f64 x)) x))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x 1/3) (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 x (*.f64 3 (fabs.f64 x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (fabs.f64 x)) (*.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) 1))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) x)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 (fabs.f64 x) 2) (*.f64 (fabs.f64 x) 6))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x 1/3) x)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 x (/.f64 1/3 (fabs.f64 x))) (/.f64 x (fabs.f64 x)))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 1/2 (/.f64 1/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 1 (/.f64 2/3 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 3 (/.f64 2 (fabs.f64 x))) (*.f64 (fabs.f64 x) 2))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(*.f64 (/.f64 (*.f64 x x) 2) 6)
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(neg.f64 (neg.f64 (*.f64 3 (*.f64 x x))))
(*.f64 x (*.f64 3 x))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(+.f64 0 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(-.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 0)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(/.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 1)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(/.f64 (*.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) 6) 2)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(/.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) 4)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(/.f64 (+.f64 (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4) (*.f64 (*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))) 4)) 8)
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 3 (+.f64 1 (*.f64 x (-.f64 (*.f64 3 x) 4))))
(+.f64 (*.f64 3 (*.f64 x x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (*.f64 3 x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(+.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 0)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(+.f64 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(+.f64 0 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(+.f64 -1 (+.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(+.f64 (neg.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))
(+.f64 (*.f64 x (*.f64 3 x)) (neg.f64 (*.f64 x 4)))
(+.f64 (*.f64 x (*.f64 3 x)) (*.f64 x -4))
(*.f64 x (+.f64 -4 (*.f64 3 x)))
(*.f64 x (-.f64 (*.f64 3 (*.f64 (fabs.f64 x) (/.f64 x (fabs.f64 x)))) 4))
(*.f64 x (-.f64 (*.f64 (/.f64 x (fabs.f64 x)) (*.f64 3 (fabs.f64 x))) 4))
(*.f64 x (-.f64 (*.f64 (fabs.f64 x) (*.f64 3 (/.f64 x (fabs.f64 x)))) 4))
(*.f64 x (-.f64 (*.f64 3 (*.f64 x (/.f64 x x))) 4))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(*.f64 1 (*.f64 x (-.f64 (/.f64 x 1/3) 4)))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(*.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 1)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 2) 2)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))) -1)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) 4)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(/.f64 (+.f64 (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4) (*.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4)) 4)) 8)
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))
(neg.f64 (neg.f64 (*.f64 x (-.f64 (/.f64 x 1/3) 4))))
(*.f64 x (-.f64 (/.f64 x 1/3) 4))
(*.f64 x (-.f64 (*.f64 3 x) 4))

eval161.0ms (1.4%)

Compiler

Compiled 2171 to 1649 computations (24% saved)

prune21.0ms (0.2%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New1561157
Fresh011
Picked101
Done088
Total15710167
Error
0.0b
Counts
167 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
18.9b
(+.f64 (*.f64 -12 x) 3)
2.3b
(+.f64 3 (*.f64 (*.f64 x x) 9))
2.4b
(+.f64 3 (*.f64 x (/.f64 x 1/9)))
0.1b
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
2.3b
(+.f64 3 (*.f64 x (*.f64 x 9)))
0.1b
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
2.4b
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
61.4b
(*.f64 -12 x)
19.3b
3
Compiler

Compiled 80 to 64 computations (20% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 19 to 13 computations (31.6% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite107.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1996×bool.json-1
1996×bool.json-2
1084×rational.json-simplify-35
1074×rational.json-1
1074×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0620
16420
220120
343720
490320
5200720
6423220
7757620
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(/.f64 x 1/9)
(*.f64 x (/.f64 x 1/9))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 8) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9/2) (*.f64 x 9/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 9) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 9/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 9/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 18) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 9/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 x 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 36) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) 9/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9/2 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 18 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 9/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9/4 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 18)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 36))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9/8 (*.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 4/9) 4)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x 9) (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x 9) (*.f64 x 9))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x 18)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 36 (*.f64 x x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 72 (*.f64 x x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 72 (*.f64 x x))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 x 9)) (*.f64 x (*.f64 x 9)))))))

simplify113.0ms (0.9%)

Algorithm
egg-herbie
Rules
1462×rational.json-simplify-54
1158×rational.json-simplify-2
1064×rational.json-simplify-1
952×rational.json-simplify-46
746×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077565
1141565
2281565
3814565
42192565
56341565
67455565
Stop Event
node limit
Counts
61 → 40
Calls
Call 1
Inputs
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 x (*.f64 x 8))
(+.f64 (*.f64 x 9) 0)
(+.f64 0 (*.f64 x 9))
(+.f64 (*.f64 x 8) x)
(+.f64 (*.f64 x 9/2) (*.f64 x 9/2))
(-.f64 (*.f64 x 9) 0)
(*.f64 x 9)
(*.f64 (*.f64 x 9) 1)
(*.f64 1 (*.f64 x 9))
(*.f64 (+.f64 x x) 9/2)
(*.f64 2 (*.f64 x 9/2))
(*.f64 (*.f64 x 18) 1/2)
(*.f64 (*.f64 x 4) 9/4)
(*.f64 9 x)
(*.f64 4 (/.f64 x 4/9))
(*.f64 (*.f64 x 36) 1/4)
(*.f64 (*.f64 x 8) 9/8)
(*.f64 1/2 (*.f64 x 18))
(*.f64 9/2 (+.f64 x x))
(*.f64 18 (*.f64 x 1/2))
(*.f64 (*.f64 x 9/2) 2)
(*.f64 9/4 (*.f64 x 4))
(*.f64 (*.f64 x 1/2) 18)
(*.f64 1/4 (*.f64 x 36))
(*.f64 9/8 (*.f64 x 8))
(*.f64 (/.f64 x 4/9) 4)
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(+.f64 0 (*.f64 x (*.f64 x 9)))
(+.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(/.f64 (*.f64 x (*.f64 x 18)) 2)
(/.f64 (*.f64 36 (*.f64 x x)) 4)
(/.f64 (*.f64 72 (*.f64 x x)) 8)
(/.f64 (*.f64 2 (*.f64 72 (*.f64 x x))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x))))) 64)
Outputs
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(+.f64 x (*.f64 x 8))
(*.f64 9 x)
(+.f64 (*.f64 x 9) 0)
(*.f64 9 x)
(+.f64 0 (*.f64 x 9))
(*.f64 9 x)
(+.f64 (*.f64 x 8) x)
(*.f64 9 x)
(+.f64 (*.f64 x 9/2) (*.f64 x 9/2))
(*.f64 9 x)
(-.f64 (*.f64 x 9) 0)
(*.f64 9 x)
(*.f64 x 9)
(*.f64 9 x)
(*.f64 (*.f64 x 9) 1)
(*.f64 9 x)
(*.f64 1 (*.f64 x 9))
(*.f64 9 x)
(*.f64 (+.f64 x x) 9/2)
(*.f64 9 x)
(*.f64 2 (*.f64 x 9/2))
(*.f64 9 x)
(*.f64 (*.f64 x 18) 1/2)
(*.f64 9 x)
(*.f64 (*.f64 x 4) 9/4)
(*.f64 9 x)
(*.f64 9 x)
(*.f64 4 (/.f64 x 4/9))
(*.f64 9 x)
(*.f64 (*.f64 x 36) 1/4)
(*.f64 9 x)
(*.f64 (*.f64 x 8) 9/8)
(*.f64 9 x)
(*.f64 1/2 (*.f64 x 18))
(*.f64 9 x)
(*.f64 9/2 (+.f64 x x))
(*.f64 9 x)
(*.f64 18 (*.f64 x 1/2))
(*.f64 9 x)
(*.f64 (*.f64 x 9/2) 2)
(*.f64 9 x)
(*.f64 9/4 (*.f64 x 4))
(*.f64 9 x)
(*.f64 (*.f64 x 1/2) 18)
(*.f64 9 x)
(*.f64 1/4 (*.f64 x 36))
(*.f64 9 x)
(*.f64 9/8 (*.f64 x 8))
(*.f64 9 x)
(*.f64 (/.f64 x 4/9) 4)
(*.f64 9 x)
(+.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x 9)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x 9/2)) (*.f64 x (*.f64 x 9/2)))
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x 9)) 0)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 9)) 1)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x 18)) 2)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 36 (*.f64 x x)) 4)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 72 (*.f64 x x)) 8)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 72 (*.f64 x x))) 16)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) 32)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x)))) (*.f64 2 (*.f64 2 (*.f64 72 (*.f64 x x))))) 64)
(*.f64 x (*.f64 9 x))
(*.f64 9 (*.f64 x x))

eval7.0ms (0.1%)

Compiler

Compiled 377 to 282 computations (25.2% saved)

prune8.0ms (0.1%)

Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New40040
Fresh011
Picked011
Done088
Total401050
Error
0.0b
Counts
50 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
18.9b
(+.f64 (*.f64 -12 x) 3)
2.3b
(+.f64 3 (*.f64 (*.f64 x x) 9))
2.4b
(+.f64 3 (*.f64 x (/.f64 x 1/9)))
0.1b
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
2.3b
(+.f64 3 (*.f64 x (*.f64 x 9)))
0.1b
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
0.1b
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
2.4b
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
61.4b
(*.f64 -12 x)
19.3b
3
Compiler

Compiled 80 to 64 computations (20% saved)

regimes28.0ms (0.2%)

Counts
14 → 1
Calls
Call 1
Inputs
3
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) 3)
(+.f64 3 (*.f64 x (*.f64 x 9)))
(+.f64 3 (*.f64 x (/.f64 x 1/9)))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
(*.f64 3 (+.f64 (*.f64 x (-.f64 (*.f64 3 x) 4)) 1))
(+.f64 3 (*.f64 x (*.f64 3 (+.f64 -4 (*.f64 3 x)))))
(+.f64 3 (*.f64 (+.f64 -4 (*.f64 3 x)) (*.f64 3 x)))
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (/.f64 (*.f64 3 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (*.f64 x 4)) 1))
Outputs
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
Calls

4 calls:

11.0ms
x
8.0ms
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
3.0ms
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
3.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.1b1(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
0.1b1(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
Compiler

Compiled 163 to 124 computations (23.9% saved)

regimes6.0ms (0%)

Counts
7 → 1
Calls
Call 1
Inputs
3
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) 3)
(+.f64 3 (*.f64 x (*.f64 x 9)))
(+.f64 3 (*.f64 x (/.f64 x 1/9)))
(+.f64 3 (*.f64 (*.f64 x x) 9))
(*.f64 3 (+.f64 (*.f64 x (*.f64 3 x)) 1))
Outputs
(+.f64 3 (*.f64 x (*.f64 x 9)))
Calls

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
2.3b1x
Compiler

Compiled 42 to 31 computations (26.2% saved)

regimes4.0ms (0%)

Counts
3 → 1
Calls
Call 1
Inputs
3
(*.f64 -12 x)
(+.f64 (*.f64 -12 x) 3)
Outputs
(+.f64 (*.f64 -12 x) 3)
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
18.9b1x
Compiler

Compiled 12 to 9 computations (25% saved)

regimes4.0ms (0%)

Accuracy

Total -42.3b remaining (-219.3%)

Threshold costs -42.3b (-219.3%)

Counts
2 → 1
Calls
Call 1
Inputs
3
(*.f64 -12 x)
Outputs
3
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
19.3b1x
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01558
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
(+.f64 3 (*.f64 x (*.f64 x 9)))
(+.f64 (*.f64 -12 x) 3)
3
Outputs
(+.f64 3 (*.f64 x (-.f64 (*.f64 x 9) 12)))
(+.f64 3 (*.f64 x (*.f64 x 9)))
(+.f64 (*.f64 -12 x) 3)
3
Compiler

Compiled 26 to 21 computations (19.2% saved)

soundness623.0ms (5.2%)

Algorithm
egg-herbie
Rules
3210×rational.json-simplify-2
3062×rational.json-simplify-53
2702×rational.json-simplify-35
1358×rational.json-simplify-1
1220×rational.json-simplify-61
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01733842
13773520
28492410
320552410
440132410
01442618
13052390
28352276
320571976
440521976
547571976
649811976
751021976
852151976
953221976
1066061976
1167081976
1267101976
1367101976
1468081976
1569061976
1670041976
Stop Event
node limit
node limit
Compiler

Compiled 352 to 282 computations (19.9% saved)

end93.0ms (0.8%)

Compiler

Compiled 23 to 18 computations (21.7% saved)

Profiling

Loading profile data...