Details

Time bar (total: 5.5s)

analyze46.0ms (0.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
33.3%25%50%0.1%25%0%0%6
44.4%25%31.2%0.1%43.7%0%0%7
55.6%31.2%25%0.1%43.7%0%0%8
69.4%39%17.2%0.1%43.7%0%0%9
76.4%42.9%13.3%0.1%43.7%0%0%10
84%47.2%9%0.1%43.7%0%0%11
87.8%49.4%6.8%0.1%43.7%0%0%12
Compiler

Compiled 18 to 8 computations (55.6% saved)

sample1.4s (26%)

Results
1.4s8256×body256valid
1.0ms10×body256infinite
Bogosity

preprocess541.0ms (9.8%)

Algorithm
egg-herbie
Rules
1236×rational.json-simplify-2
1006×rational.json-simplify-44
900×rational.json-simplify-1
880×rational.json-simplify-47
824×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01286
12186
23674
39262
442962
5433662
6718062
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (+.f64 (*.f64 y y) (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 y y) (*.f64 y y)))
(+.f64 (*.f64 y y) (+.f64 (*.f64 x x) (*.f64 y (+.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
(+.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))
(+.f64 (*.f64 x x) (+.f64 (*.f64 x x) (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 x x)))
(+.f64 (*.f64 x x) (+.f64 (*.f64 y y) (*.f64 x (+.f64 x x))))
(+.f64 (*.f64 y y) (*.f64 x (+.f64 x (+.f64 x x))))
Compiler

Compiled 19 to 9 computations (52.6% saved)

simplify110.0ms (2%)

Algorithm
egg-herbie
Rules
1162×rational.json-simplify-2
954×rational.json-simplify-44
858×rational.json-simplify-47
798×rational.json-simplify-19
750×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0943
11543
22737
37431
439431
5414531
6672231
7772931
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (+.f64 (*.f64 y y) (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 y y) (*.f64 y y)))
(+.f64 (*.f64 x x) (+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))

eval1.0ms (0%)

Compiler

Compiled 71 to 18 computations (74.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New325
Fresh101
Picked000
Done000
Total426
Error
0.1b
Counts
6 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 x x) (+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))
0.1b
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
Compiler

Compiled 28 to 15 computations (46.4% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
0.2b
(*.f64 y (+.f64 y (+.f64 y y)))
Compiler

Compiled 33 to 7 computations (78.8% saved)

series3.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(*.f64 y (+.f64 y (+.f64 y y)))
1.0ms
x
@0
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
1.0ms
y
@0
(*.f64 y (+.f64 y (+.f64 y y)))
0.0ms
y
@inf
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
0.0ms
x
@inf
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))

rewrite72.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1756×bool.json-1
1756×bool.json-2
1718×rational.json-1
1344×bool.json-3
862×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0950
19150
225138
357938
4185438
5586238
Stop Event
node limit
Counts
2 → 20
Calls
Call 1
Inputs
(*.f64 y (+.f64 y (+.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (*.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (+.f64 y y) 6)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))))

simplify136.0ms (2.5%)

Algorithm
egg-herbie
Rules
1528×rational.json-simplify-19
1026×rational.json-simplify-46
994×rational.json-simplify-53
976×rational.json-simplify-2
804×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0571178
11201178
22691178
37271070
421451070
546541070
663981070
773731070
Stop Event
node limit
Counts
56 → 36
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 y (+.f64 (*.f64 2 y) y))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 0 (*.f64 y (*.f64 y 3)))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(/.f64 (*.f64 6 (*.f64 y y)) 2)
(/.f64 (*.f64 y (*.f64 (+.f64 y y) 6)) 4)
(/.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6)))) 16)
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 y (+.f64 (*.f64 2 y) y))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(pow.f64 x 2)
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(pow.f64 x 2)
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 (*.f64 2 y) y)) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (*.f64 y 2))) (pow.f64 x 2))
(+.f64 (*.f64 y (+.f64 y (+.f64 y y))) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 y (*.f64 3 y)))
(+.f64 (pow.f64 x 2) (*.f64 3 (*.f64 y y)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 0 (*.f64 y (*.f64 y 3)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 6 (*.f64 y y)) 2)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 y (*.f64 (+.f64 y y) 6)) 4)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) 8)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6))) (*.f64 2 (*.f64 y (*.f64 (+.f64 y y) 6)))) 16)
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))
0.2b
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y))
Compiler

Compiled 40 to 8 computations (80% saved)

series2.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite57.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1512×rational.json-simplify-35
1212×bool.json-1
1212×bool.json-2
1190×rational.json-1
1190×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01050
110550
230938
377938
4300038
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 x x) (+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (*.f64 y 3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (*.f64 y 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 y) (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y 3) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 3) 2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))) (fabs.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (*.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 y y)))) 1) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3))) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))))

simplify73.0ms (1.3%)

Algorithm
egg-herbie
Rules
1212×rational.json-simplify-51
1068×rational.json-simplify-43
1000×rational.json-simplify-54
946×rational.json-simplify-39
872×rational.json-simplify-46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01001660
12281660
26931652
346381636
Stop Event
node limit
Counts
80 → 58
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (*.f64 (*.f64 y 3) 1/2))
(*.f64 (+.f64 y y) (/.f64 (*.f64 y 3) 2))
(*.f64 (*.f64 y y) 3)
(*.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 1 (*.f64 y (*.f64 y 3)))
(*.f64 (*.f64 y 3) y)
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 (fabs.f64 y) (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 6) (/.f64 y 2))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 (*.f64 (*.f64 y 3) 1/2) (+.f64 y y))
(*.f64 (/.f64 y 2) (*.f64 y 6))
(*.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)
(*.f64 (/.f64 (*.f64 y 3) 2) (+.f64 y y))
(*.f64 (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))) (fabs.f64 y))
(*.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(*.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))
(*.f64 (+.f64 (/.f64 (*.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 y y)))) 1) (*.f64 y y))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(/.f64 (*.f64 y (*.f64 y 6)) 2)
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3))) (*.f64 y (*.f64 y 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4))) 16)
(fabs.f64 (*.f64 y (*.f64 y 3)))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
(fabs.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (*.f64 2 (pow.f64 y 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(+.f64 (pow.f64 y 2) (+.f64 (*.f64 2 (pow.f64 y 2)) (pow.f64 x 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 y 3))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 y y) (*.f64 (*.f64 y 3) 1/2))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 y y) (/.f64 (*.f64 y 3) 2))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) 3)
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(*.f64 y (*.f64 y (+.f64 2 (fabs.f64 (/.f64 y y)))))
(*.f64 (*.f64 y y) (+.f64 2 (fabs.f64 (/.f64 y y))))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 3 (*.f64 y y))
(*.f64 1 (*.f64 y (*.f64 y 3)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 3) y)
(*.f64 3 (*.f64 y y))
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 3 (*.f64 y y))
(*.f64 (fabs.f64 y) (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))))
(*.f64 y (*.f64 y (+.f64 2 (fabs.f64 (/.f64 y y)))))
(*.f64 (*.f64 y y) (+.f64 2 (fabs.f64 (/.f64 y y))))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 6) (/.f64 y 2))
(*.f64 3 (*.f64 y y))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 (*.f64 y 3) 1/2) (+.f64 y y))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 y 2) (*.f64 y 6))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 (*.f64 y 3) 2) (+.f64 y y))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 (fabs.f64 y) (*.f64 2 (fabs.f64 y))) (fabs.f64 y))
(*.f64 y (*.f64 y (+.f64 2 (fabs.f64 (/.f64 y y)))))
(*.f64 (*.f64 y y) (+.f64 2 (fabs.f64 (/.f64 y y))))
(*.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(*.f64 y (*.f64 y (+.f64 2 (fabs.f64 (/.f64 y y)))))
(*.f64 (*.f64 y y) (+.f64 2 (fabs.f64 (/.f64 y y))))
(*.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))
(*.f64 y (*.f64 y (+.f64 2 (fabs.f64 (/.f64 y y)))))
(*.f64 (*.f64 y y) (+.f64 2 (fabs.f64 (/.f64 y y))))
(*.f64 (+.f64 (/.f64 (*.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 y y)))) 1) (*.f64 y y))
(*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (/.f64 (*.f64 y (+.f64 y y)) (*.f64 y (*.f64 y (*.f64 y y)))))))
(*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))))
(*.f64 y (*.f64 y (+.f64 1 (*.f64 (*.f64 y (+.f64 y y)) (/.f64 (fabs.f64 (/.f64 y y)) (*.f64 y y))))))
(*.f64 y (*.f64 y (+.f64 1 (/.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 y (*.f64 y 6)) 2)
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3))) (*.f64 y (*.f64 y 3)))
(*.f64 3 (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 4))) 16)
(*.f64 3 (*.f64 y y))
(fabs.f64 (*.f64 y (*.f64 y 3)))
(*.f64 3 (*.f64 y y))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(fabs.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))

eval18.0ms (0.3%)

Compiler

Compiled 1205 to 635 computations (47.3% saved)

prune14.0ms (0.2%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New90494
Fresh000
Picked101
Done101
Total92496
Error
0.0b
Counts
96 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
39.3b
(+.f64 (*.f64 x x) (*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))))))
25.6b
(*.f64 y (*.f64 3 y))
25.6b
(*.f64 3 (*.f64 y y))
Compiler

Compiled 54 to 31 computations (42.6% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 3 (*.f64 y y))
Compiler

Compiled 12 to 6 computations (50% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite83.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1562×bool.json-1
1562×bool.json-2
1530×rational.json-1
1530×rational.json-2
1530×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16413
220313
348513
4160613
5523913
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 y y)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) (*.f64 2 (*.f64 (*.f64 y y) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 y y)) (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 y y)) (*.f64 3 (*.f64 y y)))))))

simplify91.0ms (1.6%)

Algorithm
egg-herbie
Rules
1760×rational.json-simplify-19
1252×rational.json-simplify-35
884×rational.json-simplify-40
776×rational.json-simplify-2
738×rational.json-simplify-38
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
038384
191384
2235384
31510312
46342312
Stop Event
node limit
Counts
24 → 15
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
(+.f64 (*.f64 3 (*.f64 y y)) 0)
(+.f64 0 (*.f64 3 (*.f64 y y)))
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y))
(-.f64 (*.f64 3 (*.f64 y y)) 0)
(/.f64 (*.f64 3 (*.f64 y y)) 1)
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(/.f64 (*.f64 (*.f64 y y) 12) 4)
(/.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) (*.f64 2 (*.f64 (*.f64 y y) 12))) 16)
(fabs.f64 (*.f64 3 (*.f64 y y)))
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 y y) (*.f64 y (+.f64 y y)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 3 (*.f64 y y)) 0)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(+.f64 0 (*.f64 3 (*.f64 y y)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(-.f64 (*.f64 3 (*.f64 y y)) 0)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 3 (*.f64 y y)) 1)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y y) 12) 4)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) 8)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y y) 12)) (*.f64 2 (*.f64 (*.f64 y y) 12))) 16)
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))
(fabs.f64 (*.f64 3 (*.f64 y y)))
(*.f64 y (+.f64 y (+.f64 y y)))
(*.f64 3 (*.f64 y y))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (*.f64 3 y))
Compiler

Compiled 12 to 8 computations (33.3% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite86.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
2176×bool.json-1
1084×rational.json-simplify-35
914×bool.json-2
884×rational.json-1
884×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16313
218813
340613
487413
5259613
6759013
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 y (*.f64 3 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3/2)) (*.f64 y (*.f64 y 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 y 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))

simplify116.0ms (2.1%)

Algorithm
egg-herbie
Rules
1080×rational.json-simplify-54
1080×rational.json-simplify-1
936×rational.json-simplify-39
790×rational.json-simplify-19
754×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045338
1103338
2271338
31049338
44576338
57540338
Stop Event
node limit
Counts
26 → 17
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 0 (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))
(+.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))
(+.f64 (*.f64 y (*.f64 y 3/2)) (*.f64 y (*.f64 y 3/2)))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(/.f64 (*.f64 (*.f64 y y) 12) 4)
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 8) 8)
(/.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8))) 32)
(fabs.f64 (*.f64 y (*.f64 y 3)))
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 0 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y (*.f64 y 3/2)) (*.f64 y (*.f64 y 3/2)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y y) 12) 4)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 8) 8)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 3 (fabs.f64 y)) (/.f64 1 (fabs.f64 y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) 16)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y 3)) 8))) 32)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(fabs.f64 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))))
6.8b
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))
11.1b
(*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))
21.7b
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))
Compiler

Compiled 136 to 20 computations (85.3% saved)

series3.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))
0.0ms
y
@0
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))
0.0ms
y
@-inf
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))
0.0ms
y
@0
(*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))
0.0ms
y
@inf
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))

rewrite140.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1998×bool.json-1
1998×bool.json-2
840×rational.json-simplify-44
832×rational.json-simplify-49
800×rational.json-simplify-61
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
013184
1146184
2459184
3130746
4685946
Stop Event
node limit
Counts
4 → 209
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))
(*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y))))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 2)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 1 y) y) (/.f64 (/.f64 1 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (*.f64 y (*.f64 y (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y y) (*.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y y) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 -1 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 -1 (*.f64 (*.f64 y y) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 y (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 y (*.f64 y 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 1/4 (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 y 1/2) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 y (*.f64 y (*.f64 y 1/2))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fabs.f64 y) (/.f64 2 (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 1 y) (/.f64 (/.f64 2 (*.f64 y y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 y (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 4 (*.f64 y (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (*.f64 y (*.f64 y 1/2)) (*.f64 y (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 2 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 -1 (neg.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (-.f64 0 (neg.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 2) (+.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y (*.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y y) 4) (*.f64 4 (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y 4) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 y (*.f64 (*.f64 y y) 2)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 y 4) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 y) (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 y) (/.f64 (*.f64 y y) (/.f64 2 (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 y) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 y y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 y (neg.f64 y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (/.f64 (neg.f64 y) (/.f64 (/.f64 1 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 (neg.f64 (*.f64 y (*.f64 y y))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (/.f64 (neg.f64 (*.f64 y (*.f64 y y))) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (-.f64 0 (*.f64 y (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 -1 (/.f64 (/.f64 2 (*.f64 y y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y y)) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (*.f64 4 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (*.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 y) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 y) (*.f64 (*.f64 (*.f64 y y) 2) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -2)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -2)) (+.f64 (*.f64 (*.f64 y y) (neg.f64 y)) (*.f64 (*.f64 y y) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 y -2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (+.f64 (neg.f64 (*.f64 y y)) (neg.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (*.f64 (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 (*.f64 y y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 4) (*.f64 4 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 y) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 y) (*.f64 (neg.f64 (*.f64 y y)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (*.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (*.f64 y y)) (*.f64 (neg.f64 y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (*.f64 y y)) (/.f64 (neg.f64 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (fabs.f64 y)) (fabs.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (*.f64 (fabs.f64 y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) (/.f64 (/.f64 1 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 4)) (*.f64 (*.f64 y -2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 4)) (*.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (*.f64 y y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y -2)) (*.f64 y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y -2)) (-.f64 0 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 4 y) (/.f64 4 y)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 -2 y) (/.f64 -2 y)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))) (*.f64 2 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) (*.f64 2 (/.f64 4 (*.f64 y y)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y (*.f64 y y))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) (+.f64 y y)) (*.f64 y (*.f64 y (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (fabs.f64 y)) (*.f64 y (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (fabs.f64 y)) (*.f64 2 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (neg.f64 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (fabs.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y y)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 y y)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 y 4)) (*.f64 y y)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (neg.f64 (*.f64 y (*.f64 y y)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (neg.f64 (*.f64 y y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (*.f64 y (*.f64 y (*.f64 y 1/2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (/.f64 1 y)) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 y)) (*.f64 y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 1 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 1 y)) (neg.f64 (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (/.f64 1 y)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 8 (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 4 y) (/.f64 1 y)) (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -4 (/.f64 1 y)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (/.f64 1 y)) (fabs.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 y)) (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -2 y) (/.f64 1 y)) (neg.f64 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) (fabs.f64 y)) (*.f64 (*.f64 y y) (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 2 y) (+.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 4 y) (*.f64 y 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) y) (*.f64 y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 (*.f64 y y) 2))) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (*.f64 y y) 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 4 y)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 y)) (-.f64 0 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 1 y) y)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 2 (fabs.f64 y))) (-.f64 0 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 2 (*.f64 y y)) y)) (-.f64 0 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 2 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 2 (*.f64 y y)) (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 2 (*.f64 y y)) (/.f64 2 (*.f64 y y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 2 (*.f64 y y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 y (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (/.f64 2 (*.f64 y y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 y y) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 1/2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 1 y) y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (*.f64 y (*.f64 y y))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y y)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (/.f64 (/.f64 1 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y -2) (/.f64 1 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y -2) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 1 (neg.f64 (*.f64 y (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) y) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (/.f64 4 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (*.f64 y (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))) y)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 (/.f64 2 (*.f64 y y)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 (/.f64 2 (*.f64 y y)) y))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 (/.f64 2 (*.f64 y y)) y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 3 (/.f64 (/.f64 1 y) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))

simplify133.0ms (2.4%)

Algorithm
egg-herbie
Rules
1868×rational.json-simplify-35
1336×rational.json-simplify-44
1084×rational.json-simplify-47
970×rational.json-simplify-46
704×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04333941
116443837
270373833
Stop Event
node limit
Counts
257 → 250
Calls
Call 1
Inputs
2
2
2
2
2
2
2
2
2
2
2
2
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
2
(+.f64 0 (/.f64 2 (*.f64 y y)))
(+.f64 (/.f64 2 (*.f64 y y)) 0)
(+.f64 (/.f64 (/.f64 1 y) y) (/.f64 (/.f64 1 y) y))
(-.f64 (/.f64 2 (*.f64 y y)) 0)
(/.f64 y (*.f64 y (*.f64 y (*.f64 y 1/2))))
(/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))
(/.f64 (*.f64 y y) (*.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) 1))
(/.f64 (*.f64 y y) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 1 y)))
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y y)))
(/.f64 (+.f64 y y) (*.f64 -1 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 (+.f64 y y) (*.f64 -1 (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y))
(/.f64 1 (*.f64 y (*.f64 y 1/2)))
(/.f64 1 (*.f64 (*.f64 y (*.f64 y 1/2)) 1))
(/.f64 1 (*.f64 1/4 (*.f64 (*.f64 y y) 2)))
(/.f64 1 (*.f64 (*.f64 y 1/2) y))
(/.f64 1 (*.f64 (*.f64 y (*.f64 y (*.f64 y 1/2))) (/.f64 1 y)))
(/.f64 1 (/.f64 (fabs.f64 y) (/.f64 2 (fabs.f64 y))))
(/.f64 1 (/.f64 (/.f64 1 y) (/.f64 (/.f64 2 (*.f64 y y)) y)))
(/.f64 (*.f64 y 4) (*.f64 y (*.f64 (*.f64 y y) 2)))
(/.f64 (*.f64 y 4) (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) y))
(/.f64 (*.f64 y 4) (*.f64 4 (*.f64 y (*.f64 y (*.f64 y 1/2)))))
(/.f64 (*.f64 y 4) (*.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (/.f64 1 y)))
(/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 2 (+.f64 (*.f64 y (*.f64 y 1/2)) (*.f64 y (*.f64 y 1/2))))
(/.f64 2 (*.f64 (/.f64 2 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 -1 (neg.f64 (*.f64 y y))))
(/.f64 2 (-.f64 0 (neg.f64 (*.f64 y y))))
(/.f64 2 (/.f64 (*.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))))
(/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 (*.f64 y y) 2) (+.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 2 y))
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y (*.f64 y y)) 4))
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 4 (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y 4) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)) (/.f64 1 y)))
(/.f64 4 (*.f64 (*.f64 y y) 2))
(/.f64 4 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (+.f64 y y)))
(/.f64 4 (/.f64 (*.f64 y (*.f64 (*.f64 y y) 2)) y))
(/.f64 4 (/.f64 (*.f64 y 4) (/.f64 2 y)))
(/.f64 4 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 4 y)))
(/.f64 (fabs.f64 y) (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) 2))
(/.f64 (fabs.f64 y) (/.f64 (*.f64 y y) (/.f64 2 (fabs.f64 y))))
(/.f64 (/.f64 2 (*.f64 y y)) 1)
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 1 y) (*.f64 y 1/2))
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 y y))))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y y) (neg.f64 y)))
(/.f64 (*.f64 y -2) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) y))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 y)) 1))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y (neg.f64 y)) y))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (/.f64 1 y)))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))) (/.f64 1 y)))
(/.f64 (*.f64 y -2) (/.f64 (neg.f64 y) (/.f64 (/.f64 1 y) y)))
(/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 -2 (neg.f64 (*.f64 y y)))
(/.f64 -2 (*.f64 y (neg.f64 y)))
(/.f64 -2 (*.f64 (neg.f64 (*.f64 y (*.f64 y y))) (/.f64 1 y)))
(/.f64 -2 (/.f64 (neg.f64 (*.f64 y (*.f64 y y))) y))
(/.f64 (neg.f64 y) (-.f64 0 (*.f64 y (*.f64 y (*.f64 y 1/2)))))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 (/.f64 2 (*.f64 y y)) y)))
(/.f64 (neg.f64 (*.f64 y y)) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) 2))
(/.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (*.f64 4 (/.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (*.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))) (/.f64 1 y)))
(/.f64 (/.f64 4 y) (+.f64 y y))
(/.f64 (/.f64 4 y) (*.f64 (*.f64 (*.f64 y y) 2) (/.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 (*.f64 2 (*.f64 y -2)) (+.f64 (*.f64 (*.f64 y y) (neg.f64 y)) (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 y -2) (*.f64 y y)))
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))) (/.f64 1 y)))
(/.f64 -4 (+.f64 (neg.f64 (*.f64 y y)) (neg.f64 (*.f64 y y))))
(/.f64 -4 (*.f64 (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))) (/.f64 1 y)))
(/.f64 -4 (-.f64 0 (*.f64 (*.f64 y y) 2)))
(/.f64 8 (*.f64 (*.f64 y y) 4))
(/.f64 8 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (/.f64 1 y)))
(/.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) 4)
(/.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 (*.f64 (*.f64 y y) 4) (*.f64 4 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))) (/.f64 1/2 y))
(/.f64 (/.f64 (/.f64 1 y) y) 1/2)
(/.f64 (/.f64 (/.f64 1 y) y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 (/.f64 -2 y) (neg.f64 y))
(/.f64 (/.f64 -2 y) (*.f64 (neg.f64 (*.f64 y y)) (/.f64 1 y)))
(/.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1/2 y))
(/.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (*.f64 1/2 (/.f64 1 y)))
(/.f64 (/.f64 4 (*.f64 y y)) 2)
(/.f64 (/.f64 -2 (*.f64 y y)) (*.f64 (neg.f64 y) (/.f64 1 y)))
(/.f64 (/.f64 -2 (*.f64 y y)) (/.f64 (neg.f64 y) y))
(/.f64 (/.f64 2 (fabs.f64 y)) (fabs.f64 y))
(/.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (*.f64 (fabs.f64 y) (/.f64 1 y)))
(/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) (/.f64 (/.f64 1 y) y))
(/.f64 (neg.f64 (*.f64 y 4)) (*.f64 (*.f64 y -2) (*.f64 y y)))
(/.f64 (neg.f64 (*.f64 y 4)) (*.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))) (/.f64 1 y)))
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (*.f64 y y) 2))))
(/.f64 (neg.f64 (*.f64 y -2)) (*.f64 y (*.f64 y y)))
(/.f64 (neg.f64 (*.f64 y -2)) (-.f64 0 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 (+.f64 (/.f64 4 y) (/.f64 4 y)) (*.f64 y 4))
(/.f64 (+.f64 (/.f64 -2 y) (/.f64 -2 y)) (*.f64 y -2))
(/.f64 (+.f64 (/.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))) (*.f64 2 (fabs.f64 y)))
(/.f64 (+.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) (*.f64 2 (/.f64 4 (*.f64 y y)))) 8)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y)) (*.f64 y y))
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y (*.f64 y y))) 4)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (+.f64 y y)) (*.f64 y (*.f64 y (*.f64 y 1/2))))
(/.f64 (/.f64 (+.f64 y y) (fabs.f64 y)) (*.f64 y (fabs.f64 y)))
(/.f64 (/.f64 4 (fabs.f64 y)) (*.f64 2 (fabs.f64 y)))
(/.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 y y))
(/.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 (*.f64 y y) 2))
(/.f64 (/.f64 2 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 2 (*.f64 y y)))
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 2)
(/.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (neg.f64 (*.f64 y y)))
(/.f64 (/.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 4)
(/.f64 (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (fabs.f64 y))
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y y)) (*.f64 y 4))
(/.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 y y)) (*.f64 y -2))
(/.f64 (/.f64 (neg.f64 (*.f64 y 4)) (*.f64 y y)) (*.f64 y -2))
(/.f64 (/.f64 (+.f64 y y) (neg.f64 (*.f64 y (*.f64 y y)))) -1)
(/.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 y))) -1)
(/.f64 (/.f64 2 (neg.f64 (*.f64 y y))) -1)
(/.f64 (/.f64 (*.f64 y 4) (*.f64 y (*.f64 y (*.f64 y 1/2)))) 4)
(/.f64 (/.f64 (+.f64 y y) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 1 y)) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 (/.f64 2 (/.f64 1 y)) (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 1 y)) 2)
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 (/.f64 -2 (/.f64 1 y)) (neg.f64 (*.f64 y (*.f64 y y))))
(/.f64 (/.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (/.f64 1 y)) 4)
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))
(/.f64 (/.f64 8 (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) 4))
(/.f64 (/.f64 (/.f64 4 y) (/.f64 1 y)) (*.f64 (*.f64 y y) 2))
(/.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(/.f64 (/.f64 -4 (/.f64 1 y)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 (/.f64 4 (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) 2)))
(/.f64 (/.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (/.f64 1 y)) (fabs.f64 y))
(/.f64 (/.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 y)) (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))
(/.f64 (/.f64 (/.f64 -2 y) (/.f64 1 y)) (neg.f64 (*.f64 y y)))
(/.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (fabs.f64 y)) (*.f64 (*.f64 y y) (fabs.f64 y)))
(/.f64 (/.f64 (/.f64 2 y) (+.f64 y y)) 1/2)
(/.f64 (/.f64 (/.f64 4 y) (*.f64 y 4)) 1/2)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) y) (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 (*.f64 y y) 2))) (*.f64 y 1/2))
(/.f64 (/.f64 1 (*.f64 (*.f64 y y) 2)) 1/4)
(/.f64 (neg.f64 (/.f64 4 y)) (*.f64 y -2))
(/.f64 (neg.f64 (/.f64 -2 y)) y)
(/.f64 (neg.f64 (/.f64 -2 y)) (-.f64 0 (neg.f64 y)))
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) y)) -1/2)
(/.f64 (neg.f64 (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))
(/.f64 (neg.f64 (/.f64 2 (fabs.f64 y))) (-.f64 0 (fabs.f64 y)))
(/.f64 (neg.f64 (/.f64 (/.f64 2 (*.f64 y y)) y)) (-.f64 0 (/.f64 1 y)))
(fabs.f64 (/.f64 2 (*.f64 y y)))
(fabs.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(+.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)
(+.f64 0 (/.f64 (/.f64 2 (*.f64 y y)) y))
(-.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)
(*.f64 y (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y))
(*.f64 y (*.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) 1))
(*.f64 y (*.f64 2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))
(*.f64 y (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y)))
(*.f64 y (/.f64 y (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1 y)))
(*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 1)
(*.f64 1 (/.f64 (/.f64 2 (*.f64 y y)) y))
(*.f64 -1 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(*.f64 -1 (/.f64 (+.f64 y y) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))
(*.f64 -1 (/.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y 4) (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y 4) (*.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) 1))
(*.f64 (*.f64 y 4) (*.f64 1/2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))
(*.f64 2 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))))
(*.f64 2 (/.f64 (/.f64 1 y) (*.f64 y y)))
(*.f64 2 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 1))
(*.f64 2 (*.f64 (/.f64 (/.f64 1 y) y) (/.f64 1 y)))
(*.f64 2 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))
(*.f64 2 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 2))
(*.f64 (/.f64 4 (*.f64 y (*.f64 y y))) 1/2)
(*.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))
(*.f64 4 (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) 2))))
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 1 y))
(*.f64 (/.f64 2 y) (/.f64 (/.f64 1 y) y))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (+.f64 y y))
(*.f64 (/.f64 1 y) (/.f64 2 (*.f64 y y)))
(*.f64 (*.f64 y -2) (/.f64 1 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(*.f64 (*.f64 y -2) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))
(*.f64 -2 (/.f64 1 (neg.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (/.f64 (/.f64 1 y) y) (/.f64 2 y))
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 2)
(*.f64 (/.f64 1/2 y) (/.f64 4 (*.f64 y y)))
(*.f64 1/2 (/.f64 4 (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) y)
(*.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) (*.f64 y 4))
(*.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))) y)
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 0 (*.f64 y (*.f64 y 3)))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(/.f64 3 (/.f64 (/.f64 1 y) y))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)
(/.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)
Outputs
2
2
2
2
2
2
2
2
2
2
2
2
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 2))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(/.f64 2 (pow.f64 y 3))
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
(*.f64 3 (pow.f64 y 2))
(*.f64 (pow.f64 y 2) 3)
2
(+.f64 0 (/.f64 2 (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(+.f64 (/.f64 2 (*.f64 y y)) 0)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(+.f64 (/.f64 (/.f64 1 y) y) (/.f64 (/.f64 1 y) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(-.f64 (/.f64 2 (*.f64 y y)) 0)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 y (*.f64 y (*.f64 y (*.f64 y 1/2))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y y) (*.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) 1))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y y) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 y y) (*.f64 y (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 y y) (*.f64 -1 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 y y) (*.f64 -1 (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (*.f64 y (*.f64 y 1/2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (*.f64 (*.f64 y (*.f64 y 1/2)) 1))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (*.f64 1/4 (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (*.f64 (*.f64 y 1/2) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (*.f64 (*.f64 y (*.f64 y (*.f64 y 1/2))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (/.f64 (fabs.f64 y) (/.f64 2 (fabs.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 1 (/.f64 (/.f64 1 y) (/.f64 (/.f64 2 (*.f64 y y)) y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y 4) (*.f64 y (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y 4) (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y 4) (*.f64 4 (*.f64 y (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y 4) (*.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (+.f64 (*.f64 y (*.f64 y 1/2)) (*.f64 y (*.f64 y 1/2))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (*.f64 (/.f64 2 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (*.f64 -1 (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (-.f64 0 (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 2 (/.f64 (*.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) 2) (+.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 2 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y (*.f64 y y)) 4))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 4 (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 y 4) (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (+.f64 y y) 4) (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 4 (*.f64 (*.f64 y y) 2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 4 (/.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (+.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 4 (/.f64 (*.f64 y (*.f64 (*.f64 y y) 2)) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 4 (/.f64 (*.f64 y 4) (/.f64 2 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 4 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 4 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (fabs.f64 y) (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) 2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (fabs.f64 y) (/.f64 (*.f64 y y) (/.f64 2 (fabs.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (*.f64 y y)) 1)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 y) y)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 1 y) (*.f64 y 1/2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (neg.f64 (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y y) (neg.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 y)) 1))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y (neg.f64 y)) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (*.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (*.f64 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 y -2) (/.f64 (neg.f64 y) (/.f64 (/.f64 1 y) y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(*.f64 (neg.f64 (*.f64 y y)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 (*.f64 y y))))))
(*.f64 (/.f64 (/.f64 2 y) y) (/.f64 (*.f64 y (neg.f64 y)) (*.f64 y (neg.f64 y))))
(/.f64 -2 (neg.f64 (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -2 (*.f64 y (neg.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -2 (*.f64 (neg.f64 (*.f64 y (*.f64 y y))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -2 (/.f64 (neg.f64 (*.f64 y (*.f64 y y))) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 y) (-.f64 0 (*.f64 y (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 (/.f64 2 (*.f64 y y)) y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 y y)) (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) 2))
(/.f64 2 (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 (*.f64 y y) (/.f64 (*.f64 y (neg.f64 y)) (*.f64 y (neg.f64 y)))))
(/.f64 (*.f64 y (neg.f64 y)) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y (/.f64 y 2))))
(/.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (*.f64 4 (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (*.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 y) (+.f64 y y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 y) (*.f64 (*.f64 (*.f64 y y) 2) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (*.f64 y -2)) (+.f64 (*.f64 (*.f64 y y) (neg.f64 y)) (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 y -2) (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -4 (+.f64 (neg.f64 (*.f64 y y)) (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -4 (*.f64 (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 -4 (-.f64 0 (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 8 (*.f64 (*.f64 y y) 4))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 8 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) 4) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) 4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) 4) (*.f64 4 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))) (/.f64 1/2 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 1 y) y) 1/2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 1 y) y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -2 y) (neg.f64 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -2 y) (*.f64 (neg.f64 (*.f64 y y)) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1/2 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (*.f64 1/2 (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 (*.f64 y y)) 2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -2 (*.f64 y y)) (*.f64 (neg.f64 y) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -2 (*.f64 y y)) (/.f64 (neg.f64 y) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (fabs.f64 y)) (fabs.f64 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (*.f64 (fabs.f64 y) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) (/.f64 (/.f64 1 y) y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 y 4)) (*.f64 (*.f64 y -2) (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 y 4)) (*.f64 (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))) (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 y 4)) (-.f64 0 (*.f64 y (*.f64 (*.f64 y y) 2))))
(/.f64 (neg.f64 (*.f64 y 4)) (neg.f64 (*.f64 (*.f64 y y) (*.f64 2 y))))
(/.f64 (*.f64 y -4) (neg.f64 (*.f64 y (*.f64 y (*.f64 2 y)))))
(/.f64 (*.f64 y -4) (neg.f64 (*.f64 y (/.f64 y (/.f64 1/2 y)))))
(/.f64 (neg.f64 (*.f64 y -2)) (*.f64 y (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 y -2)) (-.f64 0 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 (/.f64 4 y) (/.f64 4 y)) (*.f64 y 4))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 (/.f64 -2 y) (/.f64 -2 y)) (*.f64 y -2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 (/.f64 2 (fabs.f64 y)) (/.f64 2 (fabs.f64 y))) (*.f64 2 (fabs.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (+.f64 (*.f64 2 (/.f64 4 (*.f64 y y))) (*.f64 2 (/.f64 4 (*.f64 y y)))) 8)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y)) (*.f64 y y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y (*.f64 y y))) 4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (+.f64 y y)) (*.f64 y (*.f64 y (*.f64 y 1/2))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (+.f64 y y) (fabs.f64 y)) (*.f64 y (fabs.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 (fabs.f64 y)) (*.f64 2 (fabs.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 y y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (*.f64 (*.f64 y y) 2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (/.f64 2 (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (neg.f64 (*.f64 y y)))
(*.f64 (neg.f64 (*.f64 y y)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 (*.f64 y (*.f64 y 1/2)) (neg.f64 (*.f64 y y))))))
(*.f64 (/.f64 (/.f64 2 y) y) (/.f64 (*.f64 y (neg.f64 y)) (*.f64 y (neg.f64 y))))
(/.f64 (/.f64 (*.f64 (*.f64 y y) 4) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) 4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) (fabs.f64 y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2)))) (fabs.f64 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (*.f64 y y)) (*.f64 y 4))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (*.f64 y y)) (*.f64 y -2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (neg.f64 (*.f64 y 4)) (*.f64 y y)) (*.f64 y -2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (+.f64 y y) (neg.f64 (*.f64 y (*.f64 y y)))) -1)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 y))) -1)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (neg.f64 (*.f64 y y))) -1)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 y 4) (*.f64 y (*.f64 y (*.f64 y 1/2)))) 4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (+.f64 y y) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 y 4) (/.f64 1 y)) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 2 (/.f64 1 y)) (*.f64 y (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 4 (*.f64 y (*.f64 y y))) (/.f64 1 y)) 2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -2 (/.f64 1 y)) (neg.f64 (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 4) (/.f64 1 y)) 4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 y y) 4)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 8 (/.f64 1 y)) (*.f64 (*.f64 y (*.f64 y y)) 4))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 4 y) (/.f64 1 y)) (*.f64 (*.f64 y y) 2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 2 (*.f64 y -2)) (/.f64 1 y)) (*.f64 2 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 -4 (/.f64 1 y)) (*.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 4 (/.f64 1 y)) (*.f64 y (*.f64 (*.f64 y y) 2)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 2 (*.f64 y (fabs.f64 y))) (/.f64 1 y)) (fabs.f64 y))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (neg.f64 (*.f64 y 4)) (/.f64 1 y)) (neg.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 -2 y) (/.f64 1 y)) (neg.f64 (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 y)) (*.f64 y (*.f64 y (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (fabs.f64 y)) (*.f64 (*.f64 y y) (fabs.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 2 y) (+.f64 y y)) 1/2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (/.f64 4 y) (*.f64 y 4)) 1/2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) y) (*.f64 y (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 y (*.f64 (*.f64 y y) 2))) (*.f64 y 1/2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (/.f64 1 (*.f64 (*.f64 y y) 2)) 1/4)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (/.f64 4 y)) (*.f64 y -2))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (/.f64 -2 y)) y)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (/.f64 -2 y)) (-.f64 0 (neg.f64 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (/.f64 (/.f64 1 y) y)) -1/2)
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(/.f64 (neg.f64 (/.f64 2 (fabs.f64 y))) (-.f64 0 (fabs.f64 y)))
(/.f64 (neg.f64 (/.f64 2 (fabs.f64 y))) (neg.f64 (fabs.f64 y)))
(/.f64 (/.f64 -2 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(/.f64 (neg.f64 (/.f64 (/.f64 2 (*.f64 y y)) y)) (-.f64 0 (/.f64 1 y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(fabs.f64 (/.f64 2 (*.f64 y y)))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(fabs.f64 (/.f64 (*.f64 (*.f64 y y) 2) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(/.f64 2 (*.f64 y y))
(/.f64 (/.f64 2 y) y)
(+.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(+.f64 0 (/.f64 (/.f64 2 (*.f64 y y)) y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(-.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 0)
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 y (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 y (*.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) 1))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 y (*.f64 2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y)))) y))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 2 y))
(*.f64 2 (*.f64 y (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 y (*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) (/.f64 1 y)))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 y (/.f64 y (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(*.f64 (*.f64 y y) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 (*.f64 y 1/2) (*.f64 y y)))))
(*.f64 y (*.f64 y (/.f64 2 (*.f64 y (*.f64 (*.f64 y y) (*.f64 y y))))))
(*.f64 (+.f64 y y) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y)))) y))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 2 y))
(*.f64 2 (*.f64 y (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (+.f64 y y) (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) (/.f64 1 y)))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 1)
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 1 (/.f64 (/.f64 2 (*.f64 y y)) y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 -1 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 -1 (/.f64 (+.f64 y y) (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 -1 (/.f64 2 (neg.f64 (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (*.f64 y 4) (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))))
(*.f64 y (*.f64 4 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 (*.f64 y 4) (*.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) 1))
(*.f64 y (*.f64 4 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 (*.f64 y 4) (*.f64 1/2 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))))
(*.f64 1/2 (*.f64 (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y)))) (*.f64 y 4)))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 1/2 (*.f64 y 4)))
(*.f64 2 (/.f64 y (*.f64 y (*.f64 y (*.f64 y y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 2 (/.f64 (/.f64 1 y) (*.f64 y y)))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 2 (*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 1))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 2 (*.f64 (/.f64 (/.f64 1 y) y) (/.f64 1 y)))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 2 (/.f64 (+.f64 y y) (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 2 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) 2))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 4 (*.f64 y (*.f64 y y))) 1/2)
(*.f64 1/2 (/.f64 4 (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 (+.f64 y y) 4) (/.f64 1 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y 4))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 4 (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) 2))))
(*.f64 4 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 2 y))))
(*.f64 4 (/.f64 (/.f64 1/2 y) (*.f64 y y)))
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/2))))))
(*.f64 (fabs.f64 y) (/.f64 (/.f64 (fabs.f64 y) y) (*.f64 y (*.f64 (*.f64 y 1/2) (*.f64 y y)))))
(*.f64 (fabs.f64 y) (/.f64 (/.f64 (/.f64 (/.f64 2 y) y) y) (fabs.f64 y)))
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 1 y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 2 y) (/.f64 (/.f64 1 y) y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (+.f64 y y))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y)))) y))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))) (*.f64 2 y))
(*.f64 2 (*.f64 y (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (/.f64 1 y) (/.f64 2 (*.f64 y y)))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (*.f64 y -2) (/.f64 1 (*.f64 (*.f64 y y) (neg.f64 (*.f64 y y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (*.f64 y -2) (/.f64 1 (*.f64 y (*.f64 (*.f64 y y) (neg.f64 y)))))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 -2 (/.f64 1 (neg.f64 (*.f64 y (*.f64 y y)))))
(*.f64 -2 (/.f64 1 (*.f64 y (*.f64 y (neg.f64 y)))))
(*.f64 -2 (/.f64 -1 (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (/.f64 1 y) y) (/.f64 2 y))
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 (/.f64 1 y) (*.f64 y y)) 2)
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 1/2 y) (/.f64 4 (*.f64 y y)))
(*.f64 (/.f64 4 (*.f64 y y)) (/.f64 1/2 y))
(*.f64 1/2 (/.f64 4 (*.f64 y (*.f64 y y))))
(*.f64 (/.f64 (/.f64 (/.f64 2 (*.f64 y y)) y) y) y)
(/.f64 2 (*.f64 y (*.f64 y y)))
(/.f64 (/.f64 (/.f64 2 y) y) y)
(*.f64 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y))) (*.f64 y 4))
(*.f64 y (*.f64 4 (/.f64 (/.f64 1/2 y) (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y 4) (/.f64 1/2 (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 (+.f64 (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y))) (/.f64 (/.f64 1 y) (*.f64 y (*.f64 y y)))) y)
(*.f64 y (+.f64 (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y)))) (/.f64 1 (*.f64 y (*.f64 y (*.f64 y y))))))
(*.f64 y (+.f64 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))) (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y)))))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(+.f64 0 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 y 3))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(/.f64 3 (/.f64 (/.f64 1 y) y))
(/.f64 y (/.f64 (/.f64 1 y) 3))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 y (*.f64 y 3))
(/.f64 (*.f64 (*.f64 y y) 6) 2)
(*.f64 6 (/.f64 (*.f64 y y) 2))
(*.f64 (*.f64 y y) 3)
(/.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) 4)
(*.f64 4 (/.f64 (*.f64 y (*.f64 y 3)) 4))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(/.f64 (+.f64 (*.f64 (*.f64 y (*.f64 y 3)) 4) (*.f64 (*.f64 y (*.f64 y 3)) 4)) 8)
(*.f64 4 (/.f64 (*.f64 y (*.f64 y 3)) 4))
(*.f64 (*.f64 y (*.f64 y 3)) 1)

localize51.0ms (0.9%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 13 computations (48% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite80.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1914×bool.json-1
1914×bool.json-2
1474×bool.json-3
908×rational.json-simplify-35
734×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
19325
226225
360525
4192425
5619225
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))))

simplify103.0ms (1.9%)

Algorithm
egg-herbie
Rules
1158×rational.json-simplify-59
1038×rational.json-simplify-1
992×rational.json-simplify-2
770×rational.json-simplify-19
758×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037810
172810
2156810
3392810
41026810
53985810
66441810
Stop Event
node limit
Counts
36 → 17
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
Outputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))

eval143.0ms (2.6%)

Compiler

Compiled 7189 to 3112 computations (56.7% saved)

prune58.0ms (1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New3133316
Fresh000
Picked101
Done123
Total3155320
Error
0.0b
Counts
320 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
0.3b
(+.f64 (*.f64 x x) (/.f64 3 (/.f64 (/.f64 1 y) y)))
25.6b
(*.f64 y (*.f64 3 y))
25.6b
(*.f64 3 (*.f64 y y))
Compiler

Compiled 51 to 35 computations (31.4% saved)

localize14.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (/.f64 3 (/.f64 (/.f64 1 y) y)))
0.2b
(/.f64 (/.f64 1 y) y)
0.4b
(/.f64 3 (/.f64 (/.f64 1 y) y))
Compiler

Compiled 35 to 21 computations (40% saved)

series1.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite78.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1894×bool.json-1
1894×bool.json-2
1834×rational.json-1
1616×bool.json-3
604×rational.json-simplify-35
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01163
112751
243651
3130351
4523351
Stop Event
node limit
Counts
3 → 74
Calls
Call 1
Inputs
(/.f64 3 (/.f64 (/.f64 1 y) y))
(/.f64 (/.f64 1 y) y)
(+.f64 (*.f64 x x) (/.f64 3 (/.f64 (/.f64 1 y) y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (/.f64 2/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 3 (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 y 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 2 (*.f64 (/.f64 2 y) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 y y)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 y (*.f64 y 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 6 (*.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 2 (/.f64 2/3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 2 y) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 y) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 y 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (*.f64 -1 (/.f64 1/3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (neg.f64 (/.f64 1/3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 y (*.f64 y 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 6 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2/3) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 y y)) (*.f64 3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 y y)) (*.f64 3 (*.f64 y y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 y (*.f64 (*.f64 y y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 2 (*.f64 y (*.f64 y (+.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y y)) (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 y) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 y (*.f64 y (+.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1 (*.f64 y (*.f64 y (+.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 y (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 (/.f64 1/2 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y y)) (/.f64 y (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 2 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 y y)) (/.f64 1 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 2 (*.f64 y y))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 2 y)) (/.f64 1 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 1 y) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 1 y)) (fabs.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 2 y)) (fabs.f64 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (/.f64 1 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 1 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 1 (*.f64 y y)) (/.f64 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 1 (*.f64 y y)) (/.f64 1 (*.f64 y y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)))))))

simplify77.0ms (1.4%)

Algorithm
egg-herbie
Rules
1456×rational.json-simplify-2
990×rational.json-simplify-51
976×rational.json-simplify-35
924×rational.json-simplify-61
908×rational.json-simplify-57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01772054
14392048
212452012
348251988
Stop Event
node limit
Counts
122 → 89
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (*.f64 y y)) 0)
(+.f64 0 (*.f64 3 (*.f64 y y)))
(-.f64 (*.f64 3 (*.f64 y y)) 0)
(*.f64 3 (*.f64 y y))
(*.f64 1 (*.f64 3 (*.f64 y y)))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 3 (*.f64 y y)) 1)
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(*.f64 2 (/.f64 (*.f64 3 (*.f64 y y)) 2))
(*.f64 (+.f64 y y) (/.f64 y 2/3))
(*.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))
(*.f64 (+.f64 y y) (*.f64 1/2 (*.f64 3 y)))
(*.f64 (+.f64 y y) (/.f64 2 (*.f64 (/.f64 2 y) 2/3)))
(*.f64 (*.f64 y y) 3)
(*.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/3))))
(*.f64 (*.f64 y (+.f64 y y)) 3/2)
(*.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 y (*.f64 y 1/3))))
(*.f64 (*.f64 6 (*.f64 y y)) 1/2)
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 2 (/.f64 2/3 y))))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 2 y) 2/3)))
(*.f64 (*.f64 3 y) y)
(*.f64 (*.f64 y 6) (/.f64 y 2))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 -1 (/.f64 1/3 y))))
(*.f64 (neg.f64 y) (/.f64 1 (neg.f64 (/.f64 1/3 y))))
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) 1/3))
(*.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 y (*.f64 y 1/3))))
(*.f64 1/2 (*.f64 6 (*.f64 y y)))
(*.f64 (/.f64 y 2/3) (+.f64 y y))
(+.f64 (/.f64 1 (*.f64 y y)) 0)
(+.f64 0 (/.f64 1 (*.f64 y y)))
(-.f64 (/.f64 1 (*.f64 y y)) 0)
(*.f64 1 (/.f64 1 (*.f64 y y)))
(*.f64 y (/.f64 y (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 y (/.f64 2 (*.f64 y (*.f64 y (+.f64 y y)))))
(*.f64 y (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (/.f64 1 y) (/.f64 1 y))
(*.f64 (/.f64 1 (*.f64 y y)) 1)
(*.f64 (/.f64 1 (*.f64 y y)) (/.f64 y y))
(*.f64 2 (/.f64 (/.f64 1 y) (+.f64 y y)))
(*.f64 2 (/.f64 y (*.f64 y (*.f64 y (+.f64 y y)))))
(*.f64 2 (/.f64 (/.f64 1 (*.f64 y y)) 2))
(*.f64 (+.f64 y y) (/.f64 1 (*.f64 y (*.f64 y (+.f64 y y)))))
(*.f64 (+.f64 y y) (/.f64 y (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (/.f64 2 y) (/.f64 1/2 y))
(*.f64 (/.f64 2 y) (*.f64 (/.f64 1/2 y) 1))
(*.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 (/.f64 2 (*.f64 y y)) 1/2)
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 y (+.f64 y y)))
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 (*.f64 y y) (/.f64 2 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (*.f64 y (+.f64 y y)) (/.f64 1 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(*.f64 (*.f64 2 (/.f64 2 (*.f64 y y))) 1/4)
(*.f64 (*.f64 2 (/.f64 2 y)) (/.f64 1 (*.f64 y 4)))
(*.f64 -1 (/.f64 (/.f64 1 y) (neg.f64 y)))
(*.f64 (/.f64 -1 y) (/.f64 -1 y))
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y y))))
(*.f64 1/2 (/.f64 2 (*.f64 y y)))
(*.f64 (/.f64 1/2 y) (/.f64 2 y))
(*.f64 (fabs.f64 (/.f64 1 y)) (fabs.f64 (/.f64 1 y)))
(*.f64 (fabs.f64 (/.f64 2 y)) (fabs.f64 (/.f64 1/2 y)))
(fabs.f64 (/.f64 1 (*.f64 y y)))
(fabs.f64 (neg.f64 (/.f64 1 (*.f64 y y))))
(fabs.f64 (/.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y y))))
(-.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 0)
(*.f64 1 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)))
(*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)
(*.f64 2 (/.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 1/2)
(/.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) 4)
(/.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4)) 8)
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(/.f64 1 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 3 (*.f64 y y)) 0)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(+.f64 0 (*.f64 3 (*.f64 y y)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(-.f64 (*.f64 3 (*.f64 y y)) 0)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 1 (*.f64 3 (*.f64 y y)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 3 (*.f64 y y)) 1)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 2 (/.f64 (*.f64 3 (*.f64 y y)) 2))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (+.f64 y y) (/.f64 y 2/3))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (+.f64 y y) (*.f64 1/2 (*.f64 3 y)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (+.f64 y y) (/.f64 2 (*.f64 (/.f64 2 y) 2/3)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y y) 3)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 y (*.f64 y 1/3))))
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 (*.f64 y y) (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 y (/.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) 1/3)))
(*.f64 y (*.f64 y (/.f64 (/.f64 y y) 1/3)))
(*.f64 (*.f64 y (+.f64 y y)) 3/2)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 y (*.f64 y 1/3))))
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 (*.f64 y y) (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 y (/.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) 1/3)))
(*.f64 y (*.f64 y (/.f64 (/.f64 y y) 1/3)))
(*.f64 (*.f64 6 (*.f64 y y)) 1/2)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 2 (/.f64 2/3 y))))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 2 y) 2/3)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 3 y) y)
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y 6) (/.f64 y 2))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 -1 (/.f64 1/3 y))))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (neg.f64 y) (/.f64 1 (neg.f64 (/.f64 1/3 y))))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) 1/3))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 y (*.f64 y 1/3))))
(*.f64 (*.f64 y y) (*.f64 y (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 (*.f64 y y) (/.f64 (/.f64 y y) (*.f64 y 1/3))))
(*.f64 y (*.f64 y (/.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) 1/3)))
(*.f64 y (*.f64 y (/.f64 (/.f64 y y) 1/3)))
(*.f64 1/2 (*.f64 6 (*.f64 y y)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 (/.f64 y 2/3) (+.f64 y y))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(+.f64 (/.f64 1 (*.f64 y y)) 0)
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(+.f64 0 (/.f64 1 (*.f64 y y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(-.f64 (/.f64 1 (*.f64 y y)) 0)
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 1 (/.f64 1 (*.f64 y y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 y (/.f64 y (*.f64 (*.f64 y y) (*.f64 y y))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 y (/.f64 2 (*.f64 y (*.f64 y (+.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 y (/.f64 (+.f64 y y) (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 1 y) (/.f64 1 y))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 1 (*.f64 y y)) 1)
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 1 (*.f64 y y)) (/.f64 y y))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 2 (/.f64 (/.f64 1 y) (+.f64 y y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 2 (/.f64 y (*.f64 y (*.f64 y (+.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 2 (/.f64 (/.f64 1 (*.f64 y y)) 2))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (+.f64 y y) (/.f64 1 (*.f64 y (*.f64 y (+.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (+.f64 y y) (/.f64 y (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 2 y) (/.f64 1/2 y))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 2 y) (*.f64 (/.f64 1/2 y) 1))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 1/2 (*.f64 (/.f64 2 y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 2 (*.f64 y y)))
(*.f64 (/.f64 2 (*.f64 y y)) 1/2)
(*.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 1/2 (*.f64 (/.f64 2 y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 2 (*.f64 y y)))
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 y (+.f64 y y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (*.f64 y y) (/.f64 1 (*.f64 (*.f64 y y) (*.f64 y y))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (*.f64 y y) (/.f64 2 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (*.f64 y (+.f64 y y)) (/.f64 1 (*.f64 2 (*.f64 (*.f64 y y) (*.f64 y y)))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (*.f64 2 (/.f64 2 (*.f64 y y))) 1/4)
(*.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 1/2 (*.f64 (/.f64 2 y) (/.f64 1 y)))
(*.f64 1/2 (/.f64 2 (*.f64 y y)))
(*.f64 (*.f64 2 (/.f64 2 y)) (/.f64 1 (*.f64 y 4)))
(*.f64 2 (*.f64 (/.f64 2 y) (/.f64 1/4 y)))
(*.f64 -1 (/.f64 (/.f64 1 y) (neg.f64 y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (/.f64 -1 y) (/.f64 -1 y))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (fabs.f64 y) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) (*.f64 y y))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 1/2 (/.f64 2 (*.f64 y y)))
(*.f64 (/.f64 2 y) (*.f64 1/2 (/.f64 1 y)))
(*.f64 1/2 (*.f64 (/.f64 2 y) (/.f64 1 y)))
(*.f64 (/.f64 1/2 y) (/.f64 2 y))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (fabs.f64 (/.f64 1 y)) (fabs.f64 (/.f64 1 y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(*.f64 (fabs.f64 (/.f64 2 y)) (fabs.f64 (/.f64 1/2 y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(fabs.f64 (/.f64 1 (*.f64 y y)))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(fabs.f64 (neg.f64 (/.f64 1 (*.f64 y y))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(fabs.f64 (/.f64 (neg.f64 (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y y))))
(/.f64 1 (*.f64 y y))
(/.f64 (/.f64 1 y) y)
(-.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 0)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
0.1b
(/.f64 y (/.f64 1/3 y))
0.4b
(/.f64 1/3 y)
Compiler

Compiled 25 to 13 computations (48% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

12 calls:

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

rewrite60.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1532×rational.json-simplify-35
1142×bool.json-1
1142×bool.json-2
1094×rational.json-1
1094×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
19545
230045
384045
4299945
Stop Event
node limit
Counts
3 → 59
Calls
Call 1
Inputs
(/.f64 1/3 y)
(/.f64 y (/.f64 1/3 y))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2/3 y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1/3 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4/3 y) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/3 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 4/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/3 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 1/3 y) (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 1/3 y) (/.f64 1/3 y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 y (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 y (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 y (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (/.f64 2/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 y (/.f64 1/3 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (/.f64 1 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (/.f64 y (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 -1/3 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 1 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 y)) (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 2/3 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4/3 y)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y (/.f64 1/3 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1/3 y)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 y (/.f64 1/3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 y (/.f64 1/3 y)) (/.f64 y (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 y (/.f64 1/3 y)) (/.f64 y (/.f64 1/3 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))) (+.f64 (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)))))))

simplify115.0ms (2.1%)

Algorithm
egg-herbie
Rules
1392×rational.json-simplify-35
776×rational.json-simplify-1
698×rational.json-simplify-19
608×rational.json-simplify-43
608×rational.json-simplify-46
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01191511
12311511
25101511
317181511
444871511
570611511
Stop Event
node limit
Counts
95 → 72
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (/.f64 1/3 y) 0)
(+.f64 0 (/.f64 1/3 y))
(-.f64 (/.f64 1/3 y) 0)
(-.f64 0 (neg.f64 (/.f64 1/3 y)))
(-.f64 0 (/.f64 -1/3 y))
(*.f64 (/.f64 1/3 y) 1)
(*.f64 1 (/.f64 1/3 y))
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 2 (/.f64 (/.f64 1/3 y) 2))
(*.f64 (/.f64 4/3 y) 1/4)
(*.f64 (neg.f64 (/.f64 1/3 y)) -1)
(*.f64 -1 (neg.f64 (/.f64 1/3 y)))
(*.f64 -1 (/.f64 -1/3 y))
(*.f64 (/.f64 -1/3 y) -1)
(*.f64 1/2 (/.f64 2/3 y))
(*.f64 1/4 (/.f64 4/3 y))
(*.f64 (/.f64 (/.f64 1/3 y) 2) 2)
(neg.f64 (neg.f64 (/.f64 1/3 y)))
(neg.f64 (/.f64 -1/3 y))
(+.f64 (/.f64 y (/.f64 1/3 y)) 0)
(+.f64 0 (/.f64 y (/.f64 1/3 y)))
(-.f64 (/.f64 y (/.f64 1/3 y)) 0)
(*.f64 y (*.f64 y 3))
(*.f64 (/.f64 y (/.f64 1/3 y)) 1)
(*.f64 1 (/.f64 y (/.f64 1/3 y)))
(*.f64 (+.f64 y y) (*.f64 y 3/2))
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(*.f64 2 (/.f64 (/.f64 y (/.f64 1/3 y)) 2))
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))
(*.f64 (*.f64 y 3) y)
(*.f64 (*.f64 y 3) (/.f64 1 (/.f64 1 y)))
(*.f64 -1 (/.f64 y (/.f64 -1/3 y)))
(*.f64 (*.f64 y 3/2) (+.f64 y y))
(*.f64 3 (/.f64 y (/.f64 1 y)))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 (/.f64 y (/.f64 -1/3 y)) -1)
(*.f64 (/.f64 y (/.f64 1 y)) 3)
(*.f64 (/.f64 1 (/.f64 1 y)) (*.f64 y 3))
(*.f64 (/.f64 y (/.f64 2/3 y)) 2)
(*.f64 (/.f64 1 (/.f64 4/3 y)) (*.f64 y 4))
(*.f64 (/.f64 (/.f64 y (/.f64 1/3 y)) 2) 2)
(*.f64 (/.f64 1 (/.f64 -1/3 y)) (neg.f64 y))
(neg.f64 (/.f64 y (/.f64 -1/3 y)))
(-.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 0)
(*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)
(*.f64 1 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)))
(*.f64 2 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))
(*.f64 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)
(/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4) 4)
(/.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) 8)
(/.f64 (+.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))) (+.f64 (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4))) 16)
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (/.f64 1/3 y) 0)
(/.f64 1/3 y)
(+.f64 0 (/.f64 1/3 y))
(/.f64 1/3 y)
(-.f64 (/.f64 1/3 y) 0)
(/.f64 1/3 y)
(-.f64 0 (neg.f64 (/.f64 1/3 y)))
(/.f64 1/3 y)
(-.f64 0 (/.f64 -1/3 y))
(/.f64 1/3 y)
(*.f64 (/.f64 1/3 y) 1)
(/.f64 1/3 y)
(*.f64 1 (/.f64 1/3 y))
(/.f64 1/3 y)
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 2 (/.f64 (/.f64 1/3 y) 2))
(/.f64 1/3 y)
(*.f64 (/.f64 4/3 y) 1/4)
(*.f64 (neg.f64 (/.f64 1/3 y)) -1)
(/.f64 1/3 y)
(*.f64 -1 (neg.f64 (/.f64 1/3 y)))
(/.f64 1/3 y)
(*.f64 -1 (/.f64 -1/3 y))
(/.f64 1/3 y)
(*.f64 (/.f64 -1/3 y) -1)
(/.f64 1/3 y)
(*.f64 1/2 (/.f64 2/3 y))
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 1/4 (/.f64 4/3 y))
(*.f64 (/.f64 4/3 y) 1/4)
(*.f64 (/.f64 (/.f64 1/3 y) 2) 2)
(/.f64 1/3 y)
(neg.f64 (neg.f64 (/.f64 1/3 y)))
(/.f64 1/3 y)
(neg.f64 (/.f64 -1/3 y))
(/.f64 1/3 y)
(+.f64 (/.f64 y (/.f64 1/3 y)) 0)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(+.f64 0 (/.f64 y (/.f64 1/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(-.f64 (/.f64 y (/.f64 1/3 y)) 0)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 y (*.f64 y 3))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 y (/.f64 1/3 y)) 1)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 1 (/.f64 y (/.f64 1/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (+.f64 y y) (*.f64 y 3/2))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 2 (/.f64 (/.f64 y (/.f64 1/3 y)) 2))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (*.f64 y 3) y)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 3) (/.f64 1 (/.f64 1 y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 -1 (/.f64 y (/.f64 -1/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (*.f64 y 3/2) (+.f64 y y))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 3 (/.f64 y (/.f64 1 y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 y (/.f64 -1/3 y)) -1)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (/.f64 y (/.f64 1 y)) 3)
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 1 (/.f64 1 y)) (*.f64 y 3))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 y (/.f64 2/3 y)) 2)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (/.f64 1 (/.f64 4/3 y)) (*.f64 y 4))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (/.f64 (/.f64 y (/.f64 1/3 y)) 2) 2)
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(*.f64 (/.f64 1 (/.f64 -1/3 y)) (neg.f64 y))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(neg.f64 (/.f64 y (/.f64 -1/3 y)))
(/.f64 y (/.f64 1/3 y))
(/.f64 (*.f64 y y) 1/3)
(*.f64 y (/.f64 y 1/3))
(-.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 0)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 1 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)))
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 1/2)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2))
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(*.f64 (/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 1)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 2) 2)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4) 4)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) 8)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (+.f64 (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (+.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))) (+.f64 (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (/.f64 1/3 y) y) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x)) 4))) 16)
(+.f64 (/.f64 y (/.f64 1/3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 y (/.f64 y 1/3)) (*.f64 x x))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
0.1b
(/.f64 y (/.f64 (/.f64 1 y) 3))
0.3b
(/.f64 (/.f64 1 y) 3)
Compiler

Compiled 35 to 22 computations (37.1% saved)

series1.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite77.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1890×bool.json-1
1890×bool.json-2
1822×rational.json-1
1614×bool.json-3
634×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
113045
245045
3136145
4541145
Stop Event
node limit
Counts
3 → 70
Calls
Call 1
Inputs
(/.f64 (/.f64 1 y) 3)
(/.f64 y (/.f64 (/.f64 1 y) 3))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1/3 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 3 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (/.f64 y (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (/.f64 (+.f64 y y) (*.f64 (*.f64 y 3) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1 y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 1/3 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1 (*.f64 6 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 3 (*.f64 (*.f64 y 3) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (/.f64 y (*.f64 (*.f64 y 3) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2/3 y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (/.f64 2 (*.f64 (*.f64 y 3) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y y)) (*.f64 y 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 1 (*.f64 (*.f64 y 3) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y y)) (/.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 4/3) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 4) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (/.f64 1/3 y) (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 1/3 y) (/.f64 1/3 y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 3)) (/.f64 3 (*.f64 3 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (/.f64 2/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 y 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 3 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 2 (/.f64 4/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 1/2 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (/.f64 (*.f64 y 3) (*.f64 3 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 1 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 9)) (/.f64 1 (*.f64 3 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 y) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 y y)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 9) (/.f64 y (*.f64 3 (/.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2/3) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))))

simplify95.0ms (1.7%)

Algorithm
egg-herbie
Rules
1186×rational.json-simplify-2
906×rational.json-simplify-44
858×rational.json-simplify-47
796×rational.json-simplify-39
710×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01651678
13881674
29611674
344961674
467551674
Stop Event
node limit
Counts
118 → 80
Calls
Call 1
Inputs
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (/.f64 1/3 y) 0)
(+.f64 0 (/.f64 1/3 y))
(-.f64 (/.f64 1/3 y) 0)
(*.f64 1 (/.f64 1/3 y))
(*.f64 y (/.f64 1/3 (*.f64 y y)))
(*.f64 y (/.f64 3 (*.f64 y (*.f64 y 9))))
(*.f64 (/.f64 1 y) 1/3)
(*.f64 3 (/.f64 y (*.f64 y (*.f64 y 9))))
(*.f64 3 (/.f64 (+.f64 y y) (*.f64 (*.f64 y 3) (*.f64 y 6))))
(*.f64 (/.f64 1/3 y) 1)
(*.f64 2 (/.f64 y (*.f64 6 (*.f64 y y))))
(*.f64 2 (/.f64 (/.f64 1 y) 6))
(*.f64 2 (/.f64 (/.f64 1/3 y) 2))
(*.f64 (+.f64 y y) (/.f64 1 (*.f64 6 (*.f64 y y))))
(*.f64 (+.f64 y y) (/.f64 3 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(*.f64 (/.f64 2 y) 1/6)
(*.f64 6 (/.f64 y (*.f64 (*.f64 y 3) (*.f64 y 6))))
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 1/3 (/.f64 1 y))
(*.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9))))
(*.f64 (*.f64 y 3) (/.f64 2 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(*.f64 (/.f64 1 (*.f64 y y)) (*.f64 y 1/3))
(*.f64 (*.f64 y 6) (/.f64 1 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 y 6))
(*.f64 (*.f64 (/.f64 1 y) 4/3) 1/4)
(*.f64 (*.f64 (/.f64 1 y) 4) 1/12)
(*.f64 2/3 (/.f64 1/2 y))
(*.f64 1/2 (/.f64 2/3 y))
(*.f64 1/6 (/.f64 2 y))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 0 (*.f64 y (*.f64 y 3)))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 1 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 y 3))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 (*.f64 y (*.f64 y 3)) (/.f64 3 (*.f64 3 (/.f64 y y))))
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(*.f64 (+.f64 y y) (/.f64 y 2/3))
(*.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))
(*.f64 (+.f64 y y) (*.f64 1/2 (*.f64 y 3)))
(*.f64 (+.f64 y y) (/.f64 3 (/.f64 2 y)))
(*.f64 (+.f64 y y) (/.f64 2 (/.f64 4/3 y)))
(*.f64 6 (*.f64 1/2 (*.f64 y y)))
(*.f64 (*.f64 y 3) y)
(*.f64 (*.f64 y 3) (/.f64 (*.f64 y 3) (*.f64 3 (/.f64 y y))))
(*.f64 (*.f64 y y) 3)
(*.f64 (*.f64 y 6) (/.f64 1 (/.f64 2 y)))
(*.f64 (*.f64 y (*.f64 y 9)) (/.f64 1 (*.f64 3 (/.f64 y y))))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 y) 4/3)))
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))
(*.f64 (*.f64 2 (*.f64 y y)) 3/2)
(*.f64 -1 (/.f64 y (/.f64 -1/3 y)))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))
(*.f64 (*.f64 y 9) (/.f64 y (*.f64 3 (/.f64 y y))))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 (/.f64 y 2/3) (+.f64 y y))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(/.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
Outputs
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(/.f64 1/3 y)
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (/.f64 1/3 y) 0)
(/.f64 1/3 y)
(+.f64 0 (/.f64 1/3 y))
(/.f64 1/3 y)
(-.f64 (/.f64 1/3 y) 0)
(/.f64 1/3 y)
(*.f64 1 (/.f64 1/3 y))
(/.f64 1/3 y)
(*.f64 y (/.f64 1/3 (*.f64 y y)))
(/.f64 1/3 y)
(*.f64 y (/.f64 3 (*.f64 y (*.f64 y 9))))
(/.f64 1/3 y)
(*.f64 (/.f64 1 y) 1/3)
(/.f64 1/3 y)
(*.f64 3 (/.f64 y (*.f64 y (*.f64 y 9))))
(/.f64 1/3 y)
(*.f64 3 (/.f64 (+.f64 y y) (*.f64 (*.f64 y 3) (*.f64 y 6))))
(/.f64 1/3 y)
(*.f64 (/.f64 1/3 y) 1)
(/.f64 1/3 y)
(*.f64 2 (/.f64 y (*.f64 6 (*.f64 y y))))
(/.f64 1/3 y)
(*.f64 2 (/.f64 (/.f64 1 y) 6))
(/.f64 1/3 y)
(*.f64 2 (/.f64 (/.f64 1/3 y) 2))
(/.f64 1/3 y)
(*.f64 (+.f64 y y) (/.f64 1 (*.f64 6 (*.f64 y y))))
(/.f64 1/3 y)
(*.f64 (+.f64 y y) (/.f64 3 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(/.f64 1/3 y)
(*.f64 (/.f64 2 y) 1/6)
(*.f64 6 (/.f64 y (*.f64 (*.f64 y 3) (*.f64 y 6))))
(/.f64 1/3 y)
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 1/3 (/.f64 1 y))
(/.f64 1/3 y)
(*.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9))))
(/.f64 1/3 y)
(*.f64 (*.f64 y 3) (/.f64 2 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(/.f64 1/3 y)
(*.f64 (/.f64 1 (*.f64 y y)) (*.f64 y 1/3))
(/.f64 1/3 y)
(*.f64 (*.f64 y 6) (/.f64 1 (*.f64 (*.f64 y 3) (*.f64 y 6))))
(/.f64 1/3 y)
(*.f64 (/.f64 2 (*.f64 y y)) (/.f64 y 6))
(/.f64 (/.f64 (/.f64 2 y) (/.f64 6 y)) y)
(/.f64 (*.f64 y 1/6) (*.f64 y (*.f64 y 1/2)))
(*.f64 (*.f64 (/.f64 1 y) 4/3) 1/4)
(/.f64 1/3 y)
(*.f64 (*.f64 (/.f64 1 y) 4) 1/12)
(/.f64 1/3 y)
(*.f64 2/3 (/.f64 1/2 y))
(*.f64 1/2 (/.f64 2/3 y))
(*.f64 (/.f64 2/3 y) 1/2)
(*.f64 1/6 (/.f64 2 y))
(*.f64 (/.f64 2 y) 1/6)
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(+.f64 0 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 y 3))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(*.f64 1 (*.f64 y (*.f64 y 3)))
(*.f64 y (*.f64 y 3))
(*.f64 y (*.f64 y 3))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y (*.f64 y 3)) (/.f64 3 (*.f64 3 (/.f64 y y))))
(*.f64 y (*.f64 y 3))
(*.f64 2 (/.f64 y (/.f64 2/3 y)))
(*.f64 y (*.f64 y 3))
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (/.f64 y 2/3))
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (*.f64 (/.f64 y 2/3) 1))
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (*.f64 1/2 (*.f64 y 3)))
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (/.f64 3 (/.f64 2 y)))
(*.f64 y (*.f64 y 3))
(*.f64 (+.f64 y y) (/.f64 2 (/.f64 4/3 y)))
(*.f64 y (*.f64 y 3))
(*.f64 6 (*.f64 1/2 (*.f64 y y)))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y 3) y)
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y 3) (/.f64 (*.f64 y 3) (*.f64 3 (/.f64 y y))))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y y) 3)
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y 6) (/.f64 1 (/.f64 2 y)))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y (*.f64 y 9)) (/.f64 1 (*.f64 3 (/.f64 y y))))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y (*.f64 y 6)) 1/2)
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 y) 4/3)))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y 4) (/.f64 1 (/.f64 4/3 y)))
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 2 (*.f64 y y)) 3/2)
(*.f64 y (*.f64 y 3))
(*.f64 -1 (/.f64 y (/.f64 -1/3 y)))
(neg.f64 (/.f64 y (/.f64 -1/3 y)))
(*.f64 (neg.f64 y) (*.f64 y -3))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1/3 y)))
(*.f64 -1 (/.f64 y (/.f64 -1/3 y)))
(neg.f64 (/.f64 y (/.f64 -1/3 y)))
(*.f64 (neg.f64 y) (*.f64 y -3))
(*.f64 (*.f64 y 9) (/.f64 y (*.f64 3 (/.f64 y y))))
(*.f64 y (*.f64 y 3))
(*.f64 1/2 (*.f64 y (*.f64 y 6)))
(*.f64 y (*.f64 y 3))
(*.f64 (/.f64 y 2/3) (+.f64 y y))
(*.f64 y (*.f64 y 3))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 1/3 (*.f64 y y)) (/.f64 1 (*.f64 x x))))
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1/3 (*.f64 y y))))
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))

eval78.0ms (1.4%)

Compiler

Compiled 3118 to 1626 computations (47.9% saved)

prune66.0ms (1.2%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2401241
Fresh000
Picked011
Done134
Total2415246
Error
0.0b
Counts
246 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
25.6b
(*.f64 y (*.f64 3 y))
25.6b
(*.f64 3 (*.f64 y y))
Compiler

Compiled 49 to 33 computations (32.7% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 10 computations (60% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite63.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
19638
229838
376738
4314938
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(/.f64 (*.f64 y y) 1/3)
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y 3)) (/.f64 (fabs.f64 y) (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 (*.f64 y y) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (+.f64 y (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y y) 4) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 (*.f64 y y) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 y (fabs.f64 y))) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fabs.f64 y) 3) (fabs.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (*.f64 (*.f64 y y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 y y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (fabs.f64 y)) (/.f64 (fabs.f64 y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y y) 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 y) 2/3) (*.f64 2 (fabs.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (*.f64 y y) 1/3)) (*.f64 (*.f64 y y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y (fabs.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/4 (*.f64 (*.f64 y y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 y 1/2)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y y))) 1) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (*.f64 y 3)) (*.f64 y (*.f64 y 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))) (*.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))) (*.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))))))

simplify78.0ms (1.4%)

Algorithm
egg-herbie
Rules
1402×rational.json-simplify-51
1264×rational.json-simplify-57
934×rational.json-simplify-49
908×rational.json-simplify-39
784×rational.json-simplify-46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01392324
13112316
29352062
345891800
Stop Event
node limit
Counts
100 → 81
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 0 (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(*.f64 y (*.f64 y 3))
(*.f64 (*.f64 y y) 3)
(*.f64 (*.f64 y y) (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(*.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)))
(*.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(*.f64 (*.f64 y (*.f64 y 3)) (/.f64 (fabs.f64 y) (fabs.f64 y)))
(*.f64 1 (*.f64 y (*.f64 y 3)))
(*.f64 (*.f64 (*.f64 y y) 2) 3/2)
(*.f64 (*.f64 y 3) y)
(*.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 (*.f64 y y) 1/3)))
(*.f64 2 (/.f64 (*.f64 y y) 2/3))
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(*.f64 (+.f64 y y) (*.f64 y 3/2))
(*.f64 (+.f64 y y) (+.f64 y (*.f64 y 1/2)))
(*.f64 (*.f64 (*.f64 y y) 6) 1/2)
(*.f64 (*.f64 (*.f64 y y) 4) 3/4)
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) 3))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 6) (*.f64 y 1/2))
(*.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 (*.f64 y y) 1/3)))
(*.f64 (*.f64 y (*.f64 y (fabs.f64 y))) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)))
(*.f64 (*.f64 (fabs.f64 y) 3) (fabs.f64 y))
(*.f64 (*.f64 y 3/2) (+.f64 y y))
(*.f64 3/2 (*.f64 (*.f64 y y) 2))
(*.f64 (*.f64 y 1/2) (*.f64 y 6))
(*.f64 1/2 (*.f64 (*.f64 y y) 6))
(*.f64 (*.f64 2 (fabs.f64 y)) (/.f64 (fabs.f64 y) 2/3))
(*.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) (*.f64 y (*.f64 y 3)))
(*.f64 (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(*.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y y))
(*.f64 (/.f64 (*.f64 y y) 2/3) 2)
(*.f64 (/.f64 (fabs.f64 y) 2/3) (*.f64 2 (fabs.f64 y)))
(*.f64 (/.f64 y (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y y)))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) 1/3)) (*.f64 (*.f64 y y) (*.f64 y y)))
(*.f64 (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y (fabs.f64 y))))
(*.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)
(*.f64 3/4 (*.f64 (*.f64 y y) 4))
(*.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(*.f64 (+.f64 y (*.f64 y 1/2)) (+.f64 y y))
(*.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))
(*.f64 (+.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y y))) 1) (*.f64 y y))
(fabs.f64 (*.f64 y (*.f64 y 3)))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(/.f64 (+.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))) (*.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))) (*.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
Outputs
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(*.f64 3 (pow.f64 y 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 3 (pow.f64 y 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (*.f64 3 (pow.f64 y 2)))
(+.f64 (*.f64 3 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(+.f64 0 (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 (*.f64 y y) 2) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(-.f64 (*.f64 y (*.f64 y 3)) 0)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 y 3))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) 3)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y y) (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y 3)) 1)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y 3)) (/.f64 (fabs.f64 y) (fabs.f64 y)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 1 (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 (*.f64 y y) 2) 3/2)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 3) y)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 (*.f64 y y) (*.f64 y y)) (/.f64 1 (*.f64 (*.f64 y y) 1/3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 2 (/.f64 (*.f64 y y) 2/3))
(*.f64 2 (*.f64 y (/.f64 y 2/3)))
(*.f64 y (*.f64 (/.f64 y 2/3) 2))
(*.f64 y (*.f64 2 (/.f64 y 2/3)))
(*.f64 2 (/.f64 (*.f64 y (*.f64 y 3)) 2))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 y y) (*.f64 y 3/2))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 y y) (+.f64 y (*.f64 y 1/2)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 (*.f64 y y) 6) 1/2)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 (*.f64 y y) 4) 3/4)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) 3))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 3 (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 (*.f64 y 6) (*.f64 y 1/2))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y y)) (/.f64 y (*.f64 (*.f64 y y) 1/3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y (fabs.f64 y))) (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)))
(*.f64 y (*.f64 (*.f64 y (fabs.f64 y)) (/.f64 (/.f64 (fabs.f64 y) (*.f64 y y)) 1/3)))
(*.f64 (*.f64 y (fabs.f64 y)) (*.f64 (/.f64 (/.f64 (fabs.f64 y) (*.f64 y y)) 1/3) y))
(*.f64 y (*.f64 (*.f64 y (fabs.f64 y)) (*.f64 y (/.f64 (/.f64 3 y) (fabs.f64 y)))))
(*.f64 (*.f64 (fabs.f64 y) 3) (fabs.f64 y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 3/2) (+.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 3/2 (*.f64 (*.f64 y y) 2))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 y 1/2) (*.f64 y 6))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 1/2 (*.f64 (*.f64 y y) 6))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 2 (fabs.f64 y)) (/.f64 (fabs.f64 y) 2/3))
(*.f64 2 (*.f64 y (/.f64 y 2/3)))
(*.f64 y (*.f64 (/.f64 y 2/3) 2))
(*.f64 y (*.f64 2 (/.f64 y 2/3)))
(*.f64 (/.f64 (fabs.f64 y) (fabs.f64 y)) (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (*.f64 3 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 (*.f64 y y) 2/3) 2)
(*.f64 2 (*.f64 y (/.f64 y 2/3)))
(*.f64 y (*.f64 (/.f64 y 2/3) 2))
(*.f64 y (*.f64 2 (/.f64 y 2/3)))
(*.f64 (/.f64 (fabs.f64 y) 2/3) (*.f64 2 (fabs.f64 y)))
(*.f64 2 (*.f64 y (/.f64 y 2/3)))
(*.f64 y (*.f64 (/.f64 y 2/3) 2))
(*.f64 y (*.f64 2 (/.f64 y 2/3)))
(*.f64 (/.f64 y (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y y)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 1 (*.f64 (*.f64 y y) 1/3)) (*.f64 (*.f64 y y) (*.f64 y y)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (/.f64 (fabs.f64 y) (*.f64 (*.f64 y y) 1/3)) (*.f64 y (*.f64 y (fabs.f64 y))))
(*.f64 y (*.f64 (*.f64 y (fabs.f64 y)) (/.f64 (/.f64 (fabs.f64 y) (*.f64 y y)) 1/3)))
(*.f64 (*.f64 y (fabs.f64 y)) (*.f64 (/.f64 (/.f64 (fabs.f64 y) (*.f64 y y)) 1/3) y))
(*.f64 y (*.f64 (*.f64 y (fabs.f64 y)) (*.f64 y (/.f64 (/.f64 3 y) (fabs.f64 y)))))
(*.f64 (/.f64 (*.f64 y (*.f64 y 3)) 2) 2)
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 3/4 (*.f64 (*.f64 y y) 4))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 2 (/.f64 (fabs.f64 y) (fabs.f64 y))) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 y (*.f64 y 1/2)) (+.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 (+.f64 1 (/.f64 (fabs.f64 y) (fabs.f64 y))) 1) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(*.f64 (+.f64 (/.f64 (*.f64 (*.f64 y y) (*.f64 (*.f64 y y) 2)) (*.f64 (*.f64 y y) (*.f64 y y))) 1) (*.f64 y y))
(*.f64 (*.f64 y y) (+.f64 1 (/.f64 (*.f64 (*.f64 y y) (*.f64 2 (*.f64 y y))) (*.f64 y (*.f64 y (*.f64 y y))))))
(*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 2 (*.f64 y y)) (/.f64 (fabs.f64 (/.f64 y y)) (*.f64 y y)))))
(*.f64 y (*.f64 y (+.f64 1 (*.f64 (fabs.f64 (/.f64 y y)) (*.f64 2 (fabs.f64 (/.f64 y y)))))))
(*.f64 y (*.f64 y (+.f64 1 (*.f64 2 (fabs.f64 (/.f64 y y))))))
(fabs.f64 (*.f64 y (*.f64 y 3)))
(+.f64 (*.f64 y y) (*.f64 2 (*.f64 y y)))
(*.f64 y (+.f64 y (*.f64 y 2)))
(*.f64 3 (*.f64 y y))
(-.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 0)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 2 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 1/2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(*.f64 (/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 1)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 2) 2)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4) 4)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) 8)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))) (*.f64 (*.f64 1/3 (/.f64 1 (*.f64 y y))) (/.f64 1 (*.f64 x x))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))) (*.f64 (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3)))) (/.f64 1 (*.f64 x x))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))) (*.f64 (/.f64 1 (*.f64 x x)) (*.f64 1/3 (/.f64 1 (*.f64 y y)))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 (*.f64 y y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y 3))))))
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 y (*.f64 y 3)) (*.f64 x x)) 4))) 16)
(+.f64 (*.f64 3 (*.f64 y y)) (*.f64 x x))

eval15.0ms (0.3%)

Compiler

Compiled 1178 to 524 computations (55.5% saved)

prune84.0ms (1.5%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New81081
Fresh000
Picked011
Done044
Total81586
Error
0.0b
Counts
86 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
0.2b
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
25.6b
(*.f64 y (*.f64 3 y))
25.6b
(*.f64 3 (*.f64 y y))
Compiler

Compiled 49 to 33 computations (32.7% saved)

regimes28.0ms (0.5%)

Counts
11 → 1
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (/.f64 (*.f64 y y) 1/3) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 y (+.f64 y (+.f64 y y))))
(+.f64 (*.f64 x x) (/.f64 3 (/.f64 (/.f64 1 y) y)))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 (/.f64 1 y) 3)))
(+.f64 (*.f64 x x) (+.f64 (*.f64 y (+.f64 y y)) (*.f64 y y)))
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 (*.f64 y y) (+.f64 1 (*.f64 (*.f64 y y) (*.f64 y (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (*.f64 y y)))))))))
Outputs
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
Calls

5 calls:

7.0ms
y
6.0ms
x
5.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
4.0ms
(*.f64 y y)
4.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1(+.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 y y)) (*.f64 y y))
0.1b1(*.f64 x x)
0.1b1(*.f64 y y)
Compiler

Compiled 160 to 68 computations (57.5% saved)

regimes14.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
Outputs
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
Calls

4 calls:

4.0ms
(*.f64 x x)
3.0ms
x
3.0ms
y
3.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1(*.f64 x x)
0.2b1(*.f64 y y)
Compiler

Compiled 37 to 23 computations (37.8% saved)

regimes87.0ms (1.6%)

Accuracy

Total -0.1b remaining (-0.4%)

Threshold costs -0.1b (-0.4%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 3 (*.f64 y y))
(*.f64 y (*.f64 3 y))
Outputs
(*.f64 y (*.f64 3 y))
Calls

3 calls:

81.0ms
x
3.0ms
y
2.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
25.6b1x
25.6b1y
25.6b1(*.f64 y y)
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01576
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
Outputs
(+.f64 (*.f64 y (*.f64 3 y)) (*.f64 x x))
(+.f64 (*.f64 x x) (/.f64 y (/.f64 1/3 y)))
(*.f64 y (*.f64 3 y))
(*.f64 3 (*.f64 y y))
Compiler

Compiled 36 to 24 computations (33.3% saved)

soundness696.0ms (12.6%)

Algorithm
egg-herbie
Rules
1528×rational.json-simplify-19
1162×rational.json-simplify-2
1026×rational.json-simplify-46
994×rational.json-simplify-53
976×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0943
11543
22737
37431
439431
5414531
6672231
7772931
0571178
11201178
22691178
37271070
421451070
546541070
663981070
773731070
Stop Event
node limit
node limit
Compiler

Compiled 132 to 39 computations (70.5% saved)

end115.0ms (2.1%)

Compiler

Compiled 30 to 17 computations (43.3% saved)

Profiling

Loading profile data...