Details

Time bar (total: 2.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 24 to 18 computations (25% saved)

sample1.3s (58.3%)

Results
1.2s8256×body256valid
Bogosity

preprocess52.0ms (2.4%)

Algorithm
egg-herbie
Rules
886×rational_best-simplify-96
878×rational_best-simplify-65
866×rational_best-simplify-61
736×rational_best-simplify-3
698×rational_best-simplify-110
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01986
18586
241486
3251686
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 y 4)) (pow.f64 x 4)) (*.f64 2 (*.f64 x x)))
Outputs
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(-.f64 (*.f64 y (*.f64 y 2)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 y 4)) (pow.f64 x 4)) (*.f64 2 (*.f64 x x)))
(-.f64 (*.f64 x (*.f64 x 2)) (-.f64 (pow.f64 x 4) (*.f64 9 (pow.f64 y 4))))
(+.f64 (-.f64 (*.f64 9 (pow.f64 y 4)) (pow.f64 x 4)) (*.f64 x (*.f64 x 2)))
(+.f64 (*.f64 9 (pow.f64 y 4)) (-.f64 (*.f64 x (*.f64 x 2)) (pow.f64 x 4)))
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify43.0ms (2%)

Algorithm
egg-herbie
Rules
788×rational_best-simplify-113
488×rational_best-simplify-124
486×rational_best-simplify-126
444×rational_best-simplify-96
440×rational_best-simplify-65
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01443
15043
221343
3128443
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
Outputs
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (-.f64 (*.f64 2 (*.f64 y y)) (pow.f64 y 4)))

eval1.0ms (0%)

Compiler

Compiled 47 to 34 computations (27.7% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
52.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
52.0b
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Compiler

Compiled 17 to 13 computations (23.5% saved)

localize20.0ms (1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
23.0b
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
Compiler

Compiled 50 to 36 computations (28% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
1.0ms
x
@0
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
0.0ms
y
@-inf
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
0.0ms
x
@inf
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
0.0ms
y
@inf
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))

rewrite91.0ms (4.2%)

Algorithm
batch-egg-rewrite
Rules
1174×rational_best-simplify-52
804×rational_best-simplify-1
600×rational_best-simplify-113
586×rational_best-simplify-21
586×rational_best-simplify-18
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
13625
215225
391125
4647425
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 9 (pow.f64 x 4)) (neg.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 y 4)) (*.f64 9 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (*.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 y 4) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 9 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0) (/.f64 (*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 0 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))))))

simplify62.0ms (2.9%)

Algorithm
egg-herbie
Rules
816×rational_best-simplify-65
816×rational_best-simplify-61
786×rational_best-simplify-96
648×rational_best-simplify-3
588×rational_best-simplify-62
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0991422
14251422
227211422
Stop Event
node limit
Counts
52 → 35
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (neg.f64 (pow.f64 y 4)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0)
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 9 (pow.f64 x 4)))
(+.f64 0 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)
(*.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(*.f64 1 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(/.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(/.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)
(/.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) -2)
(/.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1))
(/.f64 (+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) 2)
(/.f64 (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) -4)
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))))
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (*.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))))
(pow.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(neg.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (pow.f64 y 4) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (*.f64 9 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0) (/.f64 (*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 0 0) (/.f64 0 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 -1 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
Outputs
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 9 (pow.f64 x 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 9 (pow.f64 x 4)) (neg.f64 (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 9 (pow.f64 x 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 0 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 1 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) -1)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) -2)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) 2)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) -4)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (+.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(/.f64 (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))))) (*.f64 (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (-.f64 (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)) (*.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (-.f64 -1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(pow.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 1)
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(neg.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 9 (pow.f64 x 4))) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (pow.f64 y 4) (*.f64 9 (pow.f64 x 4)))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (pow.f64 y 4) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (*.f64 9 (pow.f64 x 4)) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 9 (pow.f64 (*.f64 x y) 4)) (pow.f64 y 8)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0) (/.f64 (*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 0 0) (/.f64 0 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81)) (pow.f64 y 8)) (+.f64 (pow.f64 y 4) (*.f64 9 (pow.f64 x 4)))) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(if (!=.f64 -1 0) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)))
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))

eval52.0ms (2.4%)

Compiler

Compiled 1179 to 923 computations (21.7% saved)

prune6.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New32335
Fresh000
Picked011
Done000
Total32436
Error
52.0b
Counts
36 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
52.0b
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
52.0b
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
57.8b
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
63.0b
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Compiler

Compiled 88 to 69 computations (21.6% saved)

localize14.0ms (0.6%)

Compiler

Compiled 30 to 21 computations (30% saved)

localize24.0ms (1.1%)

Compiler

Compiled 34 to 24 computations (29.4% saved)

localize73.0ms (3.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
23.0b
(-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))
23.0b
(+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))
Compiler

Compiled 176 to 139 computations (21% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite57.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
836×rational_best-simplify-113
460×rational_best-simplify-111
448×rational_best-simplify-124
448×rational_best-simplify-96
438×rational_best-simplify-127
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11525
24525
321625
4125325
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x 4) -9) (neg.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (-.f64 1 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (-.f64 4 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (pow.f64 y 4) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (pow.f64 x 4) 9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) 0) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 0) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))))

simplify92.0ms (4.3%)

Algorithm
egg-herbie
Rules
1006×rational_best-simplify-61
986×rational_best-simplify-65
744×rational_best-simplify-3
620×rational_best-simplify-62
502×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031549
15331549
238411549
Stop Event
node limit
Counts
51 → 39
Calls
Call 1
Inputs
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(-.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))
(-.f64 (*.f64 (pow.f64 x 4) -9) (neg.f64 (pow.f64 y 4)))
(-.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0)
(-.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(*.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)
(/.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(/.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)
(/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1))
(/.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) 2)
(/.f64 (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) -4)
(/.f64 (+.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)))
(/.f64 (-.f64 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (-.f64 1 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (-.f64 4 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))))
(/.f64 (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))))
(pow.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(neg.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (pow.f64 y 4) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (*.f64 (pow.f64 x 4) 9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) 0) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 0) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
Outputs
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(pow.f64 y 4)
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(*.f64 -9 (pow.f64 x 4))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(+.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(-.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(-.f64 (*.f64 (pow.f64 x 4) -9) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(-.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 0)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(-.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(*.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) -1)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) -2)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (+.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) 2)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) -4)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (+.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (+.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))) (-.f64 1 (*.f64 1 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (-.f64 4 (*.f64 -2 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(/.f64 (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))))) (*.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))) (-.f64 (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1)) (*.f64 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 1) (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (-.f64 -1 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))))))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(pow.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)) 1)
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(neg.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) -9) (pow.f64 y 4)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (-.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (-.f64 (*.f64 -9 (pow.f64 x 4)) (pow.f64 y 4)) 0) (/.f64 (+.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) -81)) (pow.f64 y 8)) (-.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (neg.f64 (pow.f64 y 4)) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (*.f64 -9 (pow.f64 x 4)) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (*.f64 -9 (pow.f64 x 4)) 0) (/.f64 (/.f64 (+.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) -81)) (pow.f64 x 4)) (/.f64 9 (pow.f64 x 4))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9)) 0) (/.f64 (-.f64 (pow.f64 y 8) (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) 81))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) 9))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (-.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))) 0) (/.f64 (+.f64 (*.f64 (pow.f64 x 4) (*.f64 (pow.f64 x 4) -81)) (pow.f64 y 8)) (-.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (pow.f64 y 4) 0) (/.f64 (+.f64 (pow.f64 y 8) (*.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(if (!=.f64 (*.f64 (pow.f64 x 4) 9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(if (!=.f64 (*.f64 (pow.f64 x 4) 9) 0) (/.f64 (*.f64 (pow.f64 x 4) (-.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) 81))) (*.f64 (pow.f64 x 4) 9)) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 (*.f64 (pow.f64 x 4) 9) 0) (/.f64 (/.f64 (+.f64 (*.f64 (pow.f64 y 4) 9) (*.f64 (pow.f64 x 4) -81)) (pow.f64 x 4)) (/.f64 9 (pow.f64 x 4))) (+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 0 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)))) 0) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))
(if (!=.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) 0) (/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (-.f64 (*.f64 (pow.f64 x 4) 9) (pow.f64 y 4))) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9)))
(+.f64 (pow.f64 y 4) (*.f64 -9 (pow.f64 x 4)))

eval87.0ms (4.1%)

Compiler

Compiled 4784 to 3846 computations (19.6% saved)

prune15.0ms (0.7%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New74074
Fresh000
Picked011
Done033
Total74478
Error
52.0b
Counts
78 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
52.0b
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
52.0b
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
57.8b
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
63.0b
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Compiler

Compiled 88 to 69 computations (21.6% saved)

regimes12.0ms (0.6%)

Counts
5 → 1
Calls
Call 1
Inputs
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
Outputs
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
Calls

5 calls:

3.0ms
y
2.0ms
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
2.0ms
(pow.f64 x 4)
2.0ms
(*.f64 9 (pow.f64 x 4))
2.0ms
x
Results
ErrorSegmentsBranch
52.0b1x
52.0b1y
52.0b1(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
52.0b1(*.f64 9 (pow.f64 x 4))
52.0b1(pow.f64 x 4)
Compiler

Compiled 132 to 101 computations (23.5% saved)

regimes10.0ms (0.5%)

Counts
4 → 1
Calls
Call 1
Inputs
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Outputs
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
Calls

5 calls:

2.0ms
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
2.0ms
(*.f64 9 (pow.f64 x 4))
2.0ms
(pow.f64 x 4)
2.0ms
y
2.0ms
x
Results
ErrorSegmentsBranch
52.0b1x
52.0b1y
52.0b1(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
52.0b1(*.f64 9 (pow.f64 x 4))
52.0b1(pow.f64 x 4)
Compiler

Compiled 88 to 66 computations (25% saved)

regimes9.0ms (0.4%)

Accuracy

Total -5.2b remaining (-9%)

Threshold costs -5.2b (-9%)

Counts
2 → 1
Calls
Call 1
Inputs
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
Outputs
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
Calls

4 calls:

4.0ms
(pow.f64 x 4)
2.0ms
(*.f64 9 (pow.f64 x 4))
1.0ms
y
1.0ms
x
Results
ErrorSegmentsBranch
57.8b1x
57.8b1y
57.8b1(*.f64 9 (pow.f64 x 4))
57.8b1(pow.f64 x 4)
Compiler

Compiled 41 to 31 computations (24.4% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032228
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Outputs
(+.f64 (if (!=.f64 (*.f64 (pow.f64 x 4) -9) 0) (/.f64 (*.f64 (*.f64 9 (pow.f64 x 4)) (+.f64 (pow.f64 y 4) (*.f64 (pow.f64 x 4) -9))) (*.f64 (pow.f64 x 4) -9)) (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4))) (*.f64 y (*.f64 y 2)))
(+.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 y 4)) (*.f64 2 (*.f64 y y)))
(+.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 y (*.f64 y 2)))
(+.f64 (neg.f64 (pow.f64 y 4)) (*.f64 y (*.f64 y 2)))
Compiler

Compiled 88 to 69 computations (21.6% saved)

soundness92.0ms (4.3%)

Algorithm
egg-herbie
Rules
788×rational_best-simplify-113
488×rational_best-simplify-124
486×rational_best-simplify-126
444×rational_best-simplify-96
440×rational_best-simplify-65
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01443
15043
221343
3128443
Stop Event
node limit
Compiler

Compiled 47 to 35 computations (25.5% saved)

end76.0ms (3.6%)

Compiler

Compiled 82 to 63 computations (23.2% saved)

Profiling

Loading profile data...