Details

Time bar (total: 3.1s)

analyze133.0ms (4.3%)

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
28.6%25%62.4%0.1%12.5%0%0%6
38.1%25%40.6%0.1%34.3%0%0%7
43.2%25%32.8%0.1%42.1%0%0%8
51.6%25%23.4%0.1%51.5%0%0%9
61%28.1%18%0.1%53.9%0%0%10
73.3%31.6%11.5%0.1%56.8%0%0%11
79%33.4%8.9%0.1%57.7%0%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.7s (54.1%)

Results
1.5s8256×body256valid
186.0ms706×body256infinite
Bogosity

preprocess3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 y 4) (pow.f64 x 4))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(-.f64 (pow.f64 y 4) (pow.f64 x 4))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))

eval0.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 9 to 7 computations (22.2% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Compiler

Compiled 18 to 12 computations (33.3% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite137.0ms (4.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15019
211019
322719
440419
592119
6248119
7466119
8614819
Stop Event
node limit
Counts
1 → 51
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (pow.f64 y 4)) (+.f64 (pow.f64 x 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (pow.f64 x 4) 1) (-.f64 -1 (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 16 (*.f64 1/16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 256 (*.f64 1/256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/256 (*.f64 256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))))))

simplify320.0ms (10.2%)

Algorithm
egg-herbie
Rules
1888×rational.json-simplify-35
1578×rational.json-simplify-1
1524×rational.json-simplify-2
1028×rational.json-simplify-51
810×rational.json-simplify-42
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01151661
12371661
28181661
315271661
429301389
539011389
646611389
757471389
864051389
967251389
1068531389
1172341389
1276611389
1378571389
Stop Event
node limit
Counts
75 → 57
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 0)
(+.f64 0 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))
(+.f64 1 (-.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4))))
(+.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 -1 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)))
(+.f64 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)) -1)
(+.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
(+.f64 (-.f64 1 (pow.f64 y 4)) (+.f64 (pow.f64 x 4) -1))
(+.f64 -2 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))
(+.f64 (+.f64 (pow.f64 x 4) 1) (-.f64 -1 (pow.f64 y 4)))
(+.f64 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) -2)
(+.f64 (+.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2)))
(*.f64 4 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4))
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(*.f64 1 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))
(*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 1/2)
(*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)
(*.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 1/4)
(*.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 1/8)
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -1/2)
(*.f64 1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) 2)
(*.f64 16 (*.f64 1/16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(*.f64 -2 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2))
(*.f64 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2) -2)
(*.f64 1/4 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4) 4)
(*.f64 1/16 (*.f64 16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(*.f64 1/8 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))
(*.f64 -1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2))
(*.f64 256 (*.f64 1/256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(*.f64 1/256 (*.f64 256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 2)
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)
(/.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 4)
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 8)
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)) 16)
(/.f64 (*.f64 4 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))) 32)
(/.f64 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))))) 128)
(pow.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(neg.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))
Outputs
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 0)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 0 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 1 (-.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (neg.f64 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 -1 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (-.f64 (pow.f64 x 4) (+.f64 (pow.f64 y 4) -1)) -1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
(+.f64 (-.f64 1 (pow.f64 y 4)) (+.f64 (pow.f64 x 4) -1))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 -2 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (+.f64 (pow.f64 x 4) 1) (-.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (+.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) -2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(+.f64 (+.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) -1) (+.f64 1 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 4 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1 (-.f64 (pow.f64 x 4) (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 1/2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 1/4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 -1 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 1/8)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -1/2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/2) 2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 16 (*.f64 1/16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 -2 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) 1/2) -2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1/4 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1/4) 4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1/16 (*.f64 16 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1/8 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 -1/2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 256 (*.f64 1/256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(*.f64 1/256 (*.f64 256 (-.f64 (pow.f64 x 4) (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 2) 2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)) -1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 4 (-.f64 (pow.f64 x 4) (pow.f64 y 4))) 4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8) 8)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) -2) -2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)) 16)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 4 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))) 32)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4))) -8)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8)))) 64)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 2 (*.f64 8 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))) -16)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 8))))) 128)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(pow.f64 (-.f64 (pow.f64 x 4) (pow.f64 y 4)) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(neg.f64 (-.f64 (pow.f64 y 4) (pow.f64 x 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (pow.f64 x 4) (pow.f64 y 4))

eval90.0ms (2.9%)

Compiler

Compiled 619 to 503 computations (18.7% saved)

prune9.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New54357
Fresh000
Picked011
Done000
Total54458
Error
0b
Counts
58 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
18.6b
(pow.f64 x 4)
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.0b
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
21.0b
(neg.f64 (pow.f64 y 4))
Compiler

Compiled 37 to 30 computations (18.9% saved)

localize5.0ms (0.2%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

localize18.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
Compiler

Compiled 41 to 31 computations (24.4% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite127.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
1550×rational.json-1
1476×rational.json-simplify-35
1324×exponential.json-3
1324×rational.json-2
1324×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01143
17043
213943
328443
451823
5121523
6300623
7462023
8616123
9789123
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/2) (+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 1 (pow.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) 2) (-.f64 (*.f64 (pow.f64 x 4) 2) (*.f64 4 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)))))

simplify334.0ms (10.7%)

Algorithm
egg-herbie
Rules
3318×rational.json-simplify-51
1740×rational.json-simplify-48
1316×rational.json-simplify-35
1262×rational.json-simplify-1
1258×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0651029
11351029
23751029
311171029
417571029
526581029
632131029
733781029
835711029
939401029
1042881029
1144661029
1245121029
1345481029
1445841029
1546201029
1646561029
1747531029
1848171029
1956371029
Stop Event
node limit
Counts
47 → 30
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(-.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/2) (+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 1 (pow.f64 y 4)))) 1)
(*.f64 4 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4))
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2))
(*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
(*.f64 1 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))))
(*.f64 2 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 1/2)
(*.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 1/4)
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 1/8)
(*.f64 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 2)
(*.f64 1/4 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))
(*.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) 2) (-.f64 (*.f64 (pow.f64 x 4) 2) (*.f64 4 (pow.f64 y 4)))))
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4) 4)
(/.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 2)
(/.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 4)
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))))) 128)
(pow.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
Outputs
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(pow.f64 x 4)
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (*.f64 -1 (pow.f64 y 4)) (pow.f64 x 4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 -1 (pow.f64 y 4))
(neg.f64 (pow.f64 y 4))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (*.f64 -1 (pow.f64 y 4)))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 0)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(-.f64 (+.f64 (*.f64 (pow.f64 x 4) 1/2) (+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 1 (pow.f64 y 4)))) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 4 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 1/2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 1 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 2 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 1/2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 1/4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 1/8)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 (*.f64 1/2 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 1/4 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))))
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(*.f64 1/4 (+.f64 (*.f64 (pow.f64 x 4) 2) (-.f64 (*.f64 (pow.f64 x 4) 2) (*.f64 4 (pow.f64 y 4)))))
(*.f64 1/4 (+.f64 (-.f64 (*.f64 (pow.f64 x 4) 2) (*.f64 4 (pow.f64 y 4))) (*.f64 (pow.f64 x 4) 2)))
(*.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1/4) 4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 2) 2)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 4 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))) 4)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8) 8)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)) 16)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))) 32)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8)))) 64)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 8))))) 128)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))
(pow.f64 (+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4))) 1)
(+.f64 (pow.f64 x 4) (neg.f64 (pow.f64 y 4)))

localize7.0ms (0.2%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval8.0ms (0.2%)

Compiler

Compiled 359 to 299 computations (16.7% saved)

prune12.0ms (0.4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New30030
Fresh000
Picked011
Done033
Total30434
Error
0b
Counts
34 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
18.6b
(pow.f64 x 4)
0.0b
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.0b
(+.f64 (*.f64 (pow.f64 x 4) 1/2) (-.f64 (*.f64 (pow.f64 x 4) 1/2) (pow.f64 y 4)))
21.0b
(neg.f64 (pow.f64 y 4))
Compiler

Compiled 37 to 30 computations (18.9% saved)

regimes18.0ms (0.6%)

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

5 calls:

5.0ms
y
4.0ms
x
3.0ms
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
2.0ms
(pow.f64 y 4)
2.0ms
(pow.f64 x 4)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(-.f64 (pow.f64 x 4) (pow.f64 y 4))
0.0b1(pow.f64 x 4)
0.0b1(pow.f64 y 4)
Compiler

Compiled 56 to 43 computations (23.2% saved)

regimes32.0ms (1%)

Accuracy

Total -35.5b remaining (-924.1%)

Threshold costs -35.5b (-924.1%)

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

4 calls:

11.0ms
y
8.0ms
x
6.0ms
(pow.f64 y 4)
5.0ms
(pow.f64 x 4)
Results
ErrorSegmentsBranch
3.8b3x
6.2b3y
4.7b2(pow.f64 x 4)
5.8b4(pow.f64 y 4)
Compiler

Compiled 25 to 19 computations (24% saved)

bsearch42.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.7961929552591915e-45
2.318067685203166e-41
26.0ms
-4.957380202725259e-79
-3.389251552340701e-85
Results
39.0ms272×body256valid
Compiler

Compiled 235 to 198 computations (15.7% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01969
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(if (<=.f64 x -6841833474434165/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (pow.f64 x 4) (if (<=.f64 x 4499426523925173/1606938044258990275541962092341162602522202993782792835301376) (neg.f64 (pow.f64 y 4)) (pow.f64 x 4)))
(pow.f64 x 4)
Outputs
(-.f64 (pow.f64 x 4) (pow.f64 y 4))
(if (<=.f64 x -6841833474434165/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (pow.f64 x 4) (if (<=.f64 x 4499426523925173/1606938044258990275541962092341162602522202993782792835301376) (neg.f64 (pow.f64 y 4)) (pow.f64 x 4)))
(pow.f64 x 4)
Compiler

Compiled 34 to 26 computations (23.5% saved)

soundness0.0ms (0%)

end117.0ms (3.7%)

Compiler

Compiled 30 to 22 computations (26.7% saved)

Profiling

Loading profile data...