Details

Time bar (total: 2.9s)

analyze282.0ms (9.9%)

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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
28.1%28.1%71.8%0.1%0%0%0%9
42.2%42.1%57.7%0.1%0%0%0%10
48.2%46.8%50.3%0.1%2.7%0%0%11
56.2%53.8%41.9%0.1%4.1%0%0%12
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample880.0ms (30.9%)

Results
787.0ms8255×body256valid
81.0ms761×body256infinite
0.0msbody512valid
Bogosity

preprocess309.0ms (10.8%)

Algorithm
egg-herbie
Rules
5826×rational.json-simplify-51
3726×rational.json-simplify-2
2178×rational.json-simplify-35
1808×rational.json-simplify-1
624×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022100
147100
277100
3123100
4203100
5375100
6812100
71135100
81329100
91565100
101717100
111785100
121841100
131885100
141929100
152807100
163046100
173102100
183158100
193214100
203270100
213746100
223901100
234089100
244211100
254333100
267359100
277481100
287603100
297603100
307603100
317725100
327847100
033
133
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 y x) 2) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 z y) 2) (/.f64 x 8))
(-.f64 (/.f64 (*.f64 x z) 2) (/.f64 y 8))
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 y x) 2) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 z y) 2) (/.f64 x 8))
(-.f64 (*.f64 y (/.f64 z 2)) (/.f64 x 8))
(-.f64 (/.f64 (*.f64 x z) 2) (/.f64 y 8))
(-.f64 (*.f64 z (/.f64 x 2)) (/.f64 y 8))
(-.f64 (*.f64 x (/.f64 z 2)) (/.f64 y 8))
Symmetry

(sort x y)

Compiler

Compiled 15 to 12 computations (20% saved)

simplify367.0ms (12.9%)

Algorithm
egg-herbie
Rules
5758×rational.json-simplify-51
3392×rational.json-simplify-1
1406×rational.json-simplify-35
706×rational.json-simplify-41
404×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
12225
23725
35725
49325
516725
636025
788725
8133625
9151725
10155525
11159125
12162125
13165125
14168125
15171125
16174125
17177125
18180125
19183125
20186125
21189125
22192125
23195125
24727125
25748925
26752725
27756525
28760325
29764125
30767925
31771725
32775525
33779325
34783125
35786925
36790725
37794525
38798325
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))

eval1.0ms (0%)

Compiler

Compiled 30 to 21 computations (30% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Compiler

Compiled 12 to 9 computations (25% saved)

localize10.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series4.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
x
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
x
@inf
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
z
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
z
@inf
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))

rewrite116.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
1780×rational.json-1
1540×rational.json-simplify-35
1210×rational.json-2
1210×rational.json-3
1206×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
17925
219525
341025
480725
5176125
6354525
7564425
8789025
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (/.f64 z -8) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 z -8) (*.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 z -8)) (+.f64 (*.f64 x (*.f64 y 1/2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) 1) (+.f64 (/.f64 z -8) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (*.f64 (/.f64 x 2) 1/4) (+.f64 y y)) (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 1/8 (*.f64 x y)) (/.f64 z 32)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x y) (/.f64 z -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (*.f64 y 4)) z) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (+.f64 y y))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 x (*.f64 y 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 z z) (*.f64 x (*.f64 y 8))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))))))

simplify220.0ms (7.7%)

Algorithm
egg-herbie
Rules
2368×rational.json-simplify-2
1898×rational.json-simplify-35
1366×rational.json-simplify-45
1228×rational.json-simplify-51
1082×rational.json-simplify-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01232064
12472058
23882058
36852058
415652058
524192034
640382034
748562034
855722034
959062034
1062492034
1165072034
1276862034
1379762034
Stop Event
node limit
Counts
80 → 88
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 0)
(+.f64 0 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))
(+.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (/.f64 z -8) -1)))
(+.f64 (/.f64 z -8) (*.f64 x (*.f64 y 1/2)))
(+.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))) -1)
(+.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/8)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))
(+.f64 (+.f64 1 (/.f64 z -8)) (+.f64 (*.f64 x (*.f64 y 1/2)) -1))
(+.f64 -2 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) 1) (+.f64 (/.f64 z -8) -1))
(+.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)) -2)
(*.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))
(*.f64 2 (-.f64 (*.f64 (*.f64 (/.f64 x 2) 1/4) (+.f64 y y)) (*.f64 z 1/16)))
(*.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(*.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8))
(*.f64 4 (-.f64 (*.f64 1/8 (*.f64 x y)) (/.f64 z 32)))
(*.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 1/2)
(*.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(*.f64 1/2 (+.f64 (*.f64 x y) (/.f64 z -4)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 1/4)
(*.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))
(*.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)))
(*.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) 2)
(*.f64 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8) 4)
(/.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 2)
(/.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(/.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 4)
(/.f64 (-.f64 (*.f64 x (*.f64 y 4)) z) 8)
(/.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)
(/.f64 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)) 16)
(/.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (+.f64 y y))) -4)
(/.f64 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))) 32)
(/.f64 (-.f64 z (*.f64 x (*.f64 y 4))) -8)
(/.f64 (-.f64 (+.f64 z z) (*.f64 x (*.f64 y 8))) -16)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))))) 128)
(pow.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
Outputs
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 y (*.f64 1/2 x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 y (*.f64 1/2 x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 y (*.f64 1/2 x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 y (*.f64 1/2 x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 y (*.f64 1/2 x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 y (*.f64 1/2 x)))
(+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 0)
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 0 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 (/.f64 z -8) -1)))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 (/.f64 z -8) (*.f64 x (*.f64 y 1/2)))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (+.f64 1 (/.f64 z -8))) -1)
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/8)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))
(+.f64 (+.f64 1 (/.f64 z -8)) (+.f64 (*.f64 x (*.f64 y 1/2)) -1))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 -2 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)))
(+.f64 -2 (-.f64 (*.f64 y (*.f64 1/2 x)) (-.f64 (*.f64 z 1/8) 2)))
(+.f64 -2 (-.f64 (*.f64 1/2 (*.f64 y x)) (-.f64 (*.f64 z 1/8) 2)))
(-.f64 (*.f64 y (*.f64 1/2 x)) (*.f64 z 1/8))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) 1) (+.f64 (/.f64 z -8) -1))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(+.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 z 1/8) 2)) -2)
(+.f64 -2 (-.f64 (*.f64 y (*.f64 1/2 x)) (-.f64 (*.f64 z 1/8) 2)))
(+.f64 -2 (-.f64 (*.f64 1/2 (*.f64 y x)) (-.f64 (*.f64 z 1/8) 2)))
(-.f64 (*.f64 y (*.f64 1/2 x)) (*.f64 z 1/8))
(*.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) 2)
(*.f64 2 (-.f64 (*.f64 (*.f64 (/.f64 x 2) 1/4) (+.f64 y y)) (*.f64 z 1/16)))
(*.f64 2 (-.f64 (*.f64 (*.f64 1/4 (/.f64 x 2)) (+.f64 y y)) (*.f64 z 1/16)))
(*.f64 2 (-.f64 (*.f64 1/2 (*.f64 (/.f64 x 2) y)) (*.f64 z 1/16)))
(*.f64 2 (-.f64 (*.f64 1/2 (*.f64 y (/.f64 x 2))) (*.f64 z 1/16)))
(*.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(*.f64 1 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)))
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8))
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (/.f64 z -4)) 8))
(*.f64 4 (-.f64 (*.f64 1/8 (*.f64 x y)) (/.f64 z 32)))
(*.f64 4 (-.f64 (*.f64 x (*.f64 y 1/8)) (/.f64 z 32)))
(*.f64 4 (-.f64 (*.f64 y (*.f64 1/8 x)) (/.f64 z 32)))
(*.f64 4 (-.f64 (*.f64 1/8 (*.f64 y x)) (/.f64 z 32)))
(*.f64 4 (-.f64 (*.f64 y (*.f64 x 1/8)) (/.f64 z 32)))
(*.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 1/2)
(*.f64 1/2 (+.f64 (*.f64 y x) (/.f64 z -4)))
(*.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(neg.f64 (+.f64 (*.f64 z 1/8) (*.f64 y (/.f64 x -2))))
(*.f64 1/2 (+.f64 (*.f64 x y) (/.f64 z -4)))
(*.f64 1/2 (+.f64 (*.f64 y x) (/.f64 z -4)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/8 (-.f64 (*.f64 y (*.f64 4 x)) z))
(*.f64 1/8 (-.f64 (*.f64 y (*.f64 x 4)) z))
(*.f64 1/8 (-.f64 (*.f64 4 (*.f64 y x)) z))
(*.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 1/4)
(*.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 z 1/2)))
(*.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 8 x)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 x 8)) (+.f64 z z)))
(*.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 z 1/2)))
(*.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(neg.f64 (+.f64 (*.f64 z 1/8) (*.f64 y (/.f64 x -2))))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)) 2)
(*.f64 (/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 8) 4)
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (/.f64 z -4)) 8))
(/.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(/.f64 (+.f64 (*.f64 x y) (/.f64 z -4)) 2)
(/.f64 (+.f64 (*.f64 y x) (/.f64 z -4)) 2)
(/.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(neg.f64 (+.f64 (*.f64 z 1/8) (*.f64 y (/.f64 x -2))))
(/.f64 (-.f64 (*.f64 x (+.f64 y y)) (*.f64 z 1/2)) 4)
(/.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 z 1/2)) 4)
(/.f64 (-.f64 (*.f64 x (*.f64 y 4)) z) 8)
(/.f64 (-.f64 (*.f64 y (*.f64 4 x)) z) 8)
(/.f64 (-.f64 (*.f64 y (*.f64 x 4)) z) 8)
(/.f64 (-.f64 (*.f64 4 (*.f64 y x)) z) 8)
(/.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)
(/.f64 (-.f64 (*.f64 z 1/4) (*.f64 y x)) -2)
(/.f64 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)) 16)
(/.f64 (-.f64 (*.f64 y (*.f64 8 x)) (+.f64 z z)) 16)
(/.f64 (-.f64 (*.f64 y (*.f64 x 8)) (+.f64 z z)) 16)
(/.f64 (-.f64 (*.f64 z 1/2) (*.f64 x (+.f64 y y))) -4)
(/.f64 (-.f64 (*.f64 z 1/2) (*.f64 y (+.f64 x x))) -4)
(/.f64 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))) 32)
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 8 x)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 x 8)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))
(/.f64 (-.f64 z (*.f64 x (*.f64 y 4))) -8)
(/.f64 (-.f64 z (*.f64 y (*.f64 4 x))) -8)
(/.f64 (-.f64 z (*.f64 y (*.f64 x 4))) -8)
(/.f64 (-.f64 z (*.f64 4 (*.f64 y x))) -8)
(/.f64 (-.f64 (+.f64 z z) (*.f64 x (*.f64 y 8))) -16)
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 8 x)))) -16)
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) -16)
(/.f64 (+.f64 z (-.f64 z (*.f64 x (*.f64 y 8)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) 64)
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 8 x)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 x 8)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))) (*.f64 2 (*.f64 2 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z))))) 128)
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 8 x)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 y (*.f64 x 8)) (+.f64 z z)))
(*.f64 1/16 (-.f64 (*.f64 x (*.f64 y 8)) (+.f64 z z)))
(pow.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (/.f64 z -8)) 1)
(+.f64 (*.f64 y (*.f64 1/2 x)) (/.f64 z -8))
(+.f64 (*.f64 1/2 (*.f64 y x)) (/.f64 z -8))
(neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(neg.f64 (+.f64 (*.f64 z 1/8) (*.f64 y (/.f64 x -2))))

eval17.0ms (0.6%)

Compiler

Compiled 953 to 619 computations (35% saved)

prune14.0ms (0.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New85388
Fresh000
Picked011
Done000
Total85489
Error
0b
Counts
89 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) -16)
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
37.2b
(*.f64 y (*.f64 x 1/2))
25.1b
(*.f64 -1/8 z)
Compiler

Compiled 40 to 30 computations (25% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize5.0ms (0.2%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

localize17.0ms (0.6%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
0.0b
(-.f64 z (*.f64 y (*.f64 x 8)))
Compiler

Compiled 43 to 26 computations (39.5% saved)

series3.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(-.f64 z (*.f64 y (*.f64 x 8)))
0.0ms
z
@0
(-.f64 z (*.f64 y (*.f64 x 8)))
0.0ms
x
@-inf
(-.f64 z (*.f64 y (*.f64 x 8)))
0.0ms
y
@-inf
(-.f64 z (*.f64 y (*.f64 x 8)))
0.0ms
y
@0
(-.f64 z (*.f64 y (*.f64 x 8)))

rewrite138.0ms (4.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
16744
214744
332044
461144
5146944
6299844
7464444
8637944
9768644
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(-.f64 z (*.f64 y (*.f64 x 8)))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (neg.f64 (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 z (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (+.f64 z -1) (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 y (*.f64 x 8))) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 y (*.f64 x 8))) (+.f64 z -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z 1) (-.f64 -1 (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) -1) (+.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 z (*.f64 y (*.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 z 4) (*.f64 y (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y (*.f64 x 8)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (*.f64 x 16)) (+.f64 z z)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y (*.f64 x 8)) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)))))

simplify260.0ms (9.1%)

Algorithm
egg-herbie
Rules
2384×rational.json-simplify-2
2106×rational.json-simplify-51
1862×rational.json-simplify-35
940×rational.json-simplify-1
626×rational.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01472921
13242921
26882921
319232921
435922921
544862921
650872921
757872921
862292921
963122921
1072572921
1179622921
Stop Event
node limit
Counts
137 → 87
Calls
Call 1
Inputs
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 z (neg.f64 (*.f64 y (*.f64 x 8))))
(+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 0)
(+.f64 0 (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 1 (-.f64 (+.f64 z -1) (*.f64 y (*.f64 x 8))))
(+.f64 (neg.f64 (*.f64 y (*.f64 x 8))) z)
(+.f64 -1 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))))
(+.f64 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))) -1)
(+.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 y (*.f64 x 8))))
(+.f64 (-.f64 1 (*.f64 y (*.f64 x 8))) (+.f64 z -1))
(+.f64 -2 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2))
(+.f64 (+.f64 z 1) (-.f64 -1 (*.f64 y (*.f64 x 8))))
(+.f64 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2) -2)
(+.f64 (+.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) -1) (+.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2)))
(*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(*.f64 1 (-.f64 z (*.f64 y (*.f64 x 8))))
(*.f64 2 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))
(*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 1/2)
(*.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4))
(*.f64 4 (-.f64 (/.f64 z 4) (*.f64 y (+.f64 x x))))
(*.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 1/4)
(*.f64 -1 (-.f64 (*.f64 y (*.f64 x 8)) z))
(*.f64 1/2 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) 2)
(*.f64 (-.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 1/2)) -2)
(*.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4) 4)
(/.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 2)
(/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)
(/.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 4)
(/.f64 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8) 8)
(/.f64 (-.f64 (*.f64 y (*.f64 x 16)) (+.f64 z z)) -2)
(/.f64 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)) 16)
(/.f64 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))))) 128)
(pow.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(neg.f64 (-.f64 (*.f64 y (*.f64 x 8)) z))
(-.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 0)
(-.f64 (+.f64 z (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8))))) 1)
(*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
(*.f64 1 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))))
(*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2))
(*.f64 1/2 (+.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) (+.f64 z z)))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))
(*.f64 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 2)
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))))) 128)
(pow.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
Outputs
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
z
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(*.f64 z 2)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(*.f64 z 2)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(*.f64 z 2)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 2 z)
(*.f64 z 2)
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(*.f64 -8 (*.f64 y x))
(*.f64 y (*.f64 -8 x))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 -8 (*.f64 y x)) (*.f64 z 2))
(+.f64 (*.f64 z 2) (*.f64 y (*.f64 -8 x)))
(+.f64 (*.f64 z 2) (*.f64 -8 (*.f64 y x)))
(+.f64 z (neg.f64 (*.f64 y (*.f64 x 8))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 0)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 0 (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 1 (-.f64 (+.f64 z -1) (*.f64 y (*.f64 x 8))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (neg.f64 (*.f64 y (*.f64 x 8))) z)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 -1 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8)))) -1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (*.f64 z 1/2) (-.f64 (*.f64 z 1/2) (*.f64 y (*.f64 x 8))))
(+.f64 (-.f64 1 (*.f64 y (*.f64 x 8))) (+.f64 z -1))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 -2 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (+.f64 z 1) (-.f64 -1 (*.f64 y (*.f64 x 8))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (+.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 2) -2)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(+.f64 (+.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) -1) (+.f64 1 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2)))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 1 (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 2 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 1/2)
(*.f64 1/2 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))))
(*.f64 1/2 (+.f64 z (-.f64 z (*.f64 (*.f64 y x) 16))))
(*.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4))
(*.f64 4 (-.f64 (/.f64 z 4) (*.f64 y (+.f64 x x))))
(*.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 1/4)
(*.f64 -1 (-.f64 (*.f64 y (*.f64 x 8)) z))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 1/2 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))))
(*.f64 1/2 (+.f64 z (-.f64 z (*.f64 (*.f64 y x) 16))))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -2) 2)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(*.f64 (-.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 1/2)) -2)
(*.f64 -2 (-.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 1/2)))
(*.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))))
(*.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 1/4)
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4) 4)
(*.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -4))
(/.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) 2)
(/.f64 (+.f64 z (-.f64 z (*.f64 (*.f64 y x) 16))) 2)
(/.f64 (-.f64 (*.f64 y (*.f64 x 8)) z) -1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (-.f64 (*.f64 z 4) (*.f64 y (*.f64 x 32))) 4)
(/.f64 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8) 8)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (-.f64 (*.f64 y (*.f64 x 16)) (+.f64 z z)) -2)
(/.f64 (-.f64 (*.f64 (*.f64 y x) 16) (+.f64 z z)) -2)
(/.f64 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)) 16)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4))) -8)
(*.f64 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))) 32)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)))) -16)
(*.f64 (-.f64 (*.f64 y (*.f64 x 32)) (*.f64 z 4)) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8)))) 64)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 8))))) 128)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(pow.f64 (-.f64 z (*.f64 y (*.f64 x 8))) 1)
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(neg.f64 (-.f64 (*.f64 y (*.f64 x 8)) z))
(+.f64 (*.f64 -8 (*.f64 y x)) z)
(+.f64 z (*.f64 y (*.f64 -8 x)))
(+.f64 z (*.f64 -8 (*.f64 y x)))
(-.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 0)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(-.f64 (+.f64 z (+.f64 z (-.f64 1 (*.f64 y (*.f64 x 8))))) 1)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 1 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 1/2)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 4 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 1/4)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 1/2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 1/2 (+.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))) (+.f64 z z)))
(*.f64 1/2 (+.f64 z (+.f64 z (+.f64 z (-.f64 z (*.f64 y (*.f64 x 16)))))))
(*.f64 1/2 (+.f64 z (+.f64 (-.f64 z (*.f64 y (*.f64 x 16))) (+.f64 z z))))
(*.f64 1/2 (+.f64 z (+.f64 (-.f64 z (*.f64 (*.f64 y x) 16)) (+.f64 z z))))
(*.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1/2) 2)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 1/4 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4))
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(*.f64 (/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 2) 2)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 4) 4)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8) 8)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)) 16)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))) 32)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8)))) 64)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 8))))) 128)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))
(pow.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) 1)
(+.f64 z (-.f64 z (*.f64 y (*.f64 x 8))))
(+.f64 z (+.f64 z (*.f64 -8 (*.f64 y x))))

eval22.0ms (0.8%)

Compiler

Compiled 1269 to 897 computations (29.3% saved)

prune13.0ms (0.4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New87087
Fresh000
Picked011
Done033
Total87491
Error
0b
Counts
91 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) -16)
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
37.2b
(*.f64 y (*.f64 x 1/2))
25.1b
(*.f64 -1/8 z)
Compiler

Compiled 40 to 30 computations (25% saved)

regimes28.0ms (1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(*.f64 y (*.f64 x 1/2))
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(/.f64 (+.f64 z (-.f64 z (*.f64 y (*.f64 x 8)))) -16)
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Calls

7 calls:

4.0ms
(/.f64 (*.f64 x y) 2)
4.0ms
y
4.0ms
(/.f64 z 8)
4.0ms
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
4.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0b1(/.f64 (*.f64 x y) 2)
0.0b1(*.f64 x y)
0.0b1(/.f64 z 8)
Compiler

Compiled 75 to 54 computations (28% saved)

regimes58.0ms (2%)

Accuracy

Total -49.4b remaining (-397.3%)

Threshold costs -49.4b (-397.3%)

Counts
2 → 5
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(*.f64 y (*.f64 x 1/2))
Outputs
(*.f64 -1/8 z)
(*.f64 y (*.f64 x 1/2))
(*.f64 -1/8 z)
(*.f64 y (*.f64 x 1/2))
(*.f64 -1/8 z)
Calls

3 calls:

21.0ms
x
18.0ms
y
17.0ms
z
Results
ErrorSegmentsBranch
16.0b8x
13.5b7y
12.4b5z
Compiler

Compiled 23 to 17 computations (26.1% saved)

bsearch51.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
1.5050889955709294e-136
3.824366683056759e-133
9.0ms
9.023766339690716e-151
2.3800072405753278e-150
12.0ms
8.22627321667985e-168
2.5436077161961028e-166
17.0ms
-24018308591953316.0
-352.20547836657875
Results
45.0ms480×body256valid
Compiler

Compiled 498 to 404 computations (18.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031115
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(if (<=.f64 z -56000000) (*.f64 -1/8 z) (if (<=.f64 z 4149515568880993/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (*.f64 y (*.f64 x 1/2)) (if (<=.f64 z 691033158841835/460688772561223309599799143187044542348256984914116263229517370635452168260760357920669766257038423772151901248872539660616526444082616288154471954520592778765795328) (*.f64 -1/8 z) (if (<=.f64 z 6853661585282547/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 y (*.f64 x 1/2)) (*.f64 -1/8 z)))))
(*.f64 -1/8 z)
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(if (<=.f64 z -56000000) (*.f64 -1/8 z) (if (<=.f64 z 4149515568880993/16598062275523971834049631454764644604049784928969747599982629318762611245651632585598828195788415177152791546445203156729580604301647101231547499336455854748244727213606038094741504) (*.f64 y (*.f64 x 1/2)) (if (<=.f64 z 691033158841835/460688772561223309599799143187044542348256984914116263229517370635452168260760357920669766257038423772151901248872539660616526444082616288154471954520592778765795328) (*.f64 -1/8 z) (if (<=.f64 z 6853661585282547/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 y (*.f64 x 1/2)) (*.f64 -1/8 z)))))
(*.f64 -1/8 z)
Compiler

Compiled 56 to 41 computations (26.8% saved)

soundness0.0ms (0%)

end30.0ms (1.1%)

Remove

(sort x y)

Compiler

Compiled 74 to 53 computations (28.4% saved)

Profiling

Loading profile data...