Details

Time bar (total: 4.3s)

analyze164.0ms (3.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
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
21.9%21.8%78%0.1%0%0%0%8
30.2%29.6%68.6%0.1%1.6%0%0%9
39.8%38.2%57.7%0.1%3.9%0%0%10
48.4%46.4%49.5%0.1%3.9%0%0%11
56.1%52.9%41.3%0.1%5.7%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample818.0ms (19%)

Results
715.0ms8256×body256valid
91.0ms1104×body256infinite
Bogosity

preprocess246.0ms (5.7%)

Algorithm
egg-herbie
Rules
5826×rational.json-simplify-51
2984×rational.json-simplify-35
1686×rational.json-simplify-2
934×rational.json-simplify-1
624×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
13252
25952
310652
418752
536752
681252
7114652
8135052
9159952
10176752
11185752
12193552
13200152
14206752
15296752
16324352
17333352
18342352
19351352
20360352
21411352
22433552
23440152
24440152
25733852
26749452
27768352
28787252
033
133
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(/.f64 (*.f64 x y) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 z y) x)
(/.f64 (*.f64 x z) y)
Outputs
(/.f64 (*.f64 x y) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 z y) x)
(*.f64 y (/.f64 z x))
(*.f64 z (/.f64 y x))
(/.f64 (*.f64 x z) y)
(*.f64 z (/.f64 x y))
(*.f64 x (/.f64 z y))
Symmetry

(sort x y)

Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify407.0ms (9.5%)

Algorithm
egg-herbie
Rules
5758×rational.json-simplify-51
3396×rational.json-simplify-1
3246×rational.json-simplify-2
1328×rational.json-simplify-35
688×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11313
22413
34113
47413
514413
633513
785313
8129913
9147713
10151213
11154513
12157213
13159913
14162613
15165313
16168013
17170713
18173413
19176113
20178813
21181513
22184213
23186913
24718613
25740113
26743613
27747113
28750613
29754113
30757613
31761113
32764613
33768113
34771613
35775113
36778613
37782113
38785613
39789113
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) z)
Outputs
(/.f64 (*.f64 x y) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))

eval1.0ms (0%)

Compiler

Compiled 18 to 9 computations (50% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New033
Fresh011
Picked000
Done000
Total044
Error
0.1b
Counts
4 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
4.3b
(/.f64 (*.f64 x y) z)
6.3b
(*.f64 y (/.f64 x z))
7.0b
(*.f64 x (/.f64 y z))
Compiler

Compiled 24 to 15 computations (37.5% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.8b
(*.f64 x (/.f64 y z))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series5.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite81.0ms (1.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14813
212613
331713
485113
5420213
Stop Event
node limit
Counts
1 → 133
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (*.f64 -1 (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y z) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y z) (*.f64 1/2 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 z (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (+.f64 (/.f64 z x) (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 -2 (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 z y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 z (*.f64 x y)) (/.f64 z (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 z)) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 2 z)) (*.f64 2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (+.f64 (*.f64 z (/.f64 2 x)) (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 2 (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 4 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 (*.f64 z 4) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 (+.f64 z z) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (*.f64 -4 (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (/.f64 4 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 z) (/.f64 (/.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 z) (*.f64 (/.f64 1 y) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 (neg.f64 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (/.f64 -1 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 z y) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 z (neg.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (/.f64 z y)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 (/.f64 z y) (/.f64 2 x)) (*.f64 (/.f64 z y) (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 (*.f64 z 4) y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (/.f64 (*.f64 z 4) y) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) 4) (/.f64 4 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) 4) (*.f64 4 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) 4) (*.f64 2 (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (/.f64 (*.f64 z 8) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (*.f64 8 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (*.f64 (*.f64 z 8) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 8) (*.f64 4 (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x z) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 z (+.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 z y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (+.f64 (/.f64 (neg.f64 z) x) (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (/.f64 (neg.f64 (+.f64 z z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (/.f64 (*.f64 z -2) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (*.f64 z -2) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 (neg.f64 z) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -2) (*.f64 2 (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y z) (/.f64 y z)) (/.f64 (*.f64 y (/.f64 2 z)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (*.f64 8 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (/.f64 (*.f64 z 4) y) (/.f64 (*.f64 z 4) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 4)) (*.f64 (/.f64 z y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (+.f64 z z)) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z 4) y) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (neg.f64 z)) (*.f64 -1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (*.f64 (/.f64 z y) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 1/2 z)) (/.f64 1 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/2) (/.f64 z (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y (/.f64 1/2 z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) 4) (*.f64 4 (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y -2)) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y z)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (neg.f64 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 x z) (/.f64 x z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 z y)) (neg.f64 (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) z) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 z y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 8) (/.f64 z x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (/.f64 1 x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 x)) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (/.f64 1 x)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 x)) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (/.f64 1 x)) (*.f64 z 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 z) (/.f64 1 x)) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 y) (/.f64 1 x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 z y) (/.f64 1 x)) (*.f64 z (/.f64 (/.f64 z y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 1 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 x)) (/.f64 (*.f64 z 4) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 8) (/.f64 1 x)) (*.f64 z 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (neg.f64 (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (/.f64 1 x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)) (*.f64 2 (*.f64 z 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 y (neg.f64 z)) (/.f64 1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (neg.f64 (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 x)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 2 x)) (/.f64 z (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (/.f64 2 x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 2 x)) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (/.f64 2 x)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)) (*.f64 z (/.f64 (/.f64 z y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 2 x)) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -2) (/.f64 2 x)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 z 4) y) (/.f64 2 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (/.f64 2 x)) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) (/.f64 (neg.f64 z) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 4) (/.f64 (neg.f64 z) x)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 (neg.f64 z) x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 1/2) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x z)) (-.f64 0 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 x)) (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 y z)) 1)))))

simplify112.0ms (2.6%)

Algorithm
egg-herbie
Rules
1520×rational.json-simplify-43
1502×rational.json-simplify-35
1300×rational.json-simplify-2
714×rational.json-simplify-61
658×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03222605
112782557
245252545
379742545
Stop Event
node limit
Counts
169 → 152
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 x (/.f64 y z)) 0)
(+.f64 0 (*.f64 x (/.f64 y z)))
(-.f64 (*.f64 x (/.f64 y z)) 0)
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 y (*.f64 -1 (/.f64 (neg.f64 z) x)))
(/.f64 (/.f64 y z) (/.f64 1 x))
(/.f64 (/.f64 y z) (*.f64 1/2 (/.f64 2 x)))
(/.f64 (*.f64 x (/.f64 y z)) 1)
(/.f64 1 (/.f64 z (*.f64 x y)))
(/.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))
(/.f64 (+.f64 y y) (+.f64 (/.f64 z x) (/.f64 z x)))
(/.f64 (+.f64 y y) (*.f64 -2 (/.f64 (neg.f64 z) x)))
(/.f64 2 (*.f64 (/.f64 z y) (/.f64 2 x)))
(/.f64 2 (+.f64 (/.f64 z (*.f64 x y)) (/.f64 z (*.f64 x y))))
(/.f64 (*.f64 y (/.f64 2 z)) (/.f64 2 x))
(/.f64 (*.f64 y (/.f64 2 z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(/.f64 (*.f64 y (/.f64 2 z)) (*.f64 2 (/.f64 1 x)))
(/.f64 (*.f64 y 4) (+.f64 (*.f64 z (/.f64 2 x)) (*.f64 z (/.f64 2 x))))
(/.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))
(/.f64 (*.f64 y 4) (*.f64 2 (*.f64 z (/.f64 2 x))))
(/.f64 (*.f64 y 4) (*.f64 4 (/.f64 z x)))
(/.f64 (*.f64 y 4) (*.f64 (*.f64 z 4) (/.f64 1 x)))
(/.f64 (*.f64 y 4) (*.f64 (+.f64 z z) (/.f64 2 x)))
(/.f64 (*.f64 y 4) (*.f64 -4 (/.f64 (neg.f64 z) x)))
(/.f64 (*.f64 y 4) (/.f64 4 (/.f64 x z)))
(/.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))
(/.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 2)
(/.f64 (/.f64 1 z) (/.f64 (/.f64 1 y) x))
(/.f64 (/.f64 1 z) (*.f64 (/.f64 1 y) (/.f64 1 x)))
(/.f64 (neg.f64 y) (/.f64 (neg.f64 z) x))
(/.f64 (neg.f64 y) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 x x)))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x z)))
(/.f64 (/.f64 z y) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 1 x)))
(/.f64 -1 (/.f64 (/.f64 z (neg.f64 y)) x))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 z y)) (/.f64 1 x)))
(/.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 1 x)))
(/.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 2 x)))
(/.f64 4 (+.f64 (*.f64 (/.f64 z y) (/.f64 2 x)) (*.f64 (/.f64 z y) (/.f64 2 x))))
(/.f64 4 (/.f64 (/.f64 (*.f64 z 4) y) x))
(/.f64 4 (*.f64 (/.f64 (*.f64 z 4) y) (/.f64 1 x)))
(/.f64 4 (*.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 y z) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 y z) 4) (/.f64 4 x))
(/.f64 (*.f64 (/.f64 y z) 4) (*.f64 4 (/.f64 1 x)))
(/.f64 (*.f64 (/.f64 y z) 4) (*.f64 2 (/.f64 2 x)))
(/.f64 (*.f64 y 8) (/.f64 (*.f64 z 8) x))
(/.f64 (*.f64 y 8) (*.f64 8 (/.f64 z x)))
(/.f64 (*.f64 y 8) (*.f64 (*.f64 z 8) (/.f64 1 x)))
(/.f64 (*.f64 y 8) (*.f64 4 (*.f64 z (/.f64 2 x))))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))
(/.f64 (*.f64 (/.f64 y z) (*.f64 x 4)) 4)
(/.f64 (/.f64 x z) (/.f64 1 y))
(/.f64 1/2 (/.f64 (/.f64 z (+.f64 y y)) x))
(/.f64 1/2 (/.f64 (/.f64 z y) (+.f64 x x)))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x z)))
(/.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 y) x))
(/.f64 (*.f64 y -2) (+.f64 (/.f64 (neg.f64 z) x) (/.f64 (neg.f64 z) x)))
(/.f64 (*.f64 y -2) (/.f64 (neg.f64 (+.f64 z z)) x))
(/.f64 (*.f64 y -2) (/.f64 (*.f64 z -2) x))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 z -2) (/.f64 1 x)))
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 x)))
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 z) (/.f64 2 x)))
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 (neg.f64 z) x)))
(/.f64 (*.f64 (/.f64 y z) (/.f64 y z)) (/.f64 (*.f64 y (/.f64 2 z)) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (*.f64 8 (/.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 y 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 x)))
(/.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (/.f64 (*.f64 z 4) y) (/.f64 (*.f64 z 4) y)))
(/.f64 (*.f64 2 (*.f64 x 4)) (*.f64 (/.f64 z y) 8))
(/.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) 8)
(/.f64 (/.f64 x (+.f64 z z)) (/.f64 1/2 y))
(/.f64 (/.f64 (*.f64 z 4) y) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 2 x)))
(/.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))
(/.f64 (/.f64 y (neg.f64 z)) (*.f64 -1 (/.f64 1 x)))
(/.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (*.f64 (/.f64 z y) (/.f64 2 x)))
(/.f64 (*.f64 y (/.f64 1/2 z)) (/.f64 1 (+.f64 x x)))
(/.f64 (*.f64 y (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 x)))
(/.f64 (*.f64 x 1/2) (/.f64 z (+.f64 y y)))
(/.f64 (*.f64 x (*.f64 y (/.f64 1/2 z))) 1/2)
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 x)))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 x)))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 x)))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 4 (/.f64 (neg.f64 z) x)))
(/.f64 (neg.f64 (*.f64 y -2)) (*.f64 z (/.f64 2 x)))
(/.f64 (neg.f64 (/.f64 y z)) (/.f64 -1 x))
(/.f64 (neg.f64 x) (neg.f64 (/.f64 z y)))
(/.f64 (+.f64 (/.f64 x z) (/.f64 x z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4)))) 16)
(/.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 z y)) (neg.f64 (/.f64 z y))))
(/.f64 (/.f64 (+.f64 x x) z) (/.f64 2 y))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 z y)) 8)
(/.f64 (/.f64 (*.f64 y 8) (/.f64 z x)) 8)
(/.f64 (/.f64 y (/.f64 1 x)) z)
(/.f64 (/.f64 1 (/.f64 1 x)) (/.f64 z y))
(/.f64 (/.f64 (+.f64 y y) (/.f64 1 x)) (+.f64 z z))
(/.f64 (/.f64 2 (/.f64 1 x)) (*.f64 z (/.f64 2 y)))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 1 x)) (*.f64 z 4))
(/.f64 (/.f64 (/.f64 1 z) (/.f64 1 x)) (/.f64 1 y))
(/.f64 (/.f64 (neg.f64 y) (/.f64 1 x)) (neg.f64 z))
(/.f64 (/.f64 (/.f64 z y) (/.f64 1 x)) (*.f64 z (/.f64 (/.f64 z y) y)))
(/.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 z y)))
(/.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 1 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))
(/.f64 (/.f64 4 (/.f64 1 x)) (/.f64 (*.f64 z 4) y))
(/.f64 (/.f64 (*.f64 y 8) (/.f64 1 x)) (*.f64 z 8))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (*.f64 z -2))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (neg.f64 (+.f64 z z)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (/.f64 1 x)) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)) (*.f64 2 (*.f64 z 8)))
(/.f64 (/.f64 (/.f64 y (neg.f64 z)) (/.f64 1 x)) -1)
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (*.f64 z -2)))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 z z))))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (neg.f64 (*.f64 z 4)))
(/.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 x)) (+.f64 z z))
(/.f64 (/.f64 1 (/.f64 2 x)) (/.f64 z (+.f64 y y)))
(/.f64 (/.f64 (+.f64 y y) (/.f64 2 x)) z)
(/.f64 (/.f64 2 (/.f64 2 x)) (/.f64 z y))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 2 x)) (+.f64 z z))
(/.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)) (*.f64 z (/.f64 (/.f64 z y) y)))
(/.f64 (/.f64 4 (/.f64 2 x)) (*.f64 z (/.f64 2 y)))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 2 x)) (neg.f64 z))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) y) (/.f64 2 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))
(/.f64 (/.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (/.f64 2 x)) (/.f64 z y))
(/.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)
(/.f64 (/.f64 (+.f64 y y) (/.f64 (neg.f64 z) x)) -2)
(/.f64 (/.f64 (*.f64 y 4) (/.f64 (neg.f64 z) x)) -4)
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 (neg.f64 z) x)) 4)
(/.f64 (/.f64 x (/.f64 1 y)) z)
(/.f64 (/.f64 x 1/2) (*.f64 z (/.f64 2 y)))
(/.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))
(/.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 z (/.f64 2 y))))
(/.f64 (neg.f64 (/.f64 x z)) (-.f64 0 (/.f64 1 y)))
(/.f64 (neg.f64 (neg.f64 x)) (/.f64 z y))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 0 (*.f64 x (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 y (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 y (*.f64 -1 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 y z) (/.f64 1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 y z) (*.f64 1/2 (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1 (/.f64 z (*.f64 x y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 y y) (+.f64 (/.f64 z x) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 y y) (*.f64 -2 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 2 (*.f64 (/.f64 z y) (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 2 (+.f64 (/.f64 z (*.f64 x y)) (/.f64 z (*.f64 x y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y (/.f64 2 z)) (/.f64 2 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y (/.f64 2 z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y (/.f64 2 z)) (*.f64 2 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (+.f64 (*.f64 z (/.f64 2 x)) (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (*.f64 2 (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (*.f64 4 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (*.f64 (*.f64 z 4) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (*.f64 (+.f64 z z) (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (*.f64 -4 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 4) (/.f64 4 (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 1 z) (/.f64 (/.f64 1 y) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 1 z) (*.f64 (/.f64 1 y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 y) (/.f64 (neg.f64 z) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 y) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 y) (/.f64 -1 (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 z y) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 1 x)))
(/.f64 (/.f64 (/.f64 z y) (/.f64 1 x)) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 (/.f64 x (/.f64 y z)) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 -1 (/.f64 (/.f64 z (neg.f64 y)) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 z y)) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 1 x)))
(/.f64 (/.f64 x (/.f64 1 (*.f64 z (/.f64 2 y)))) (*.f64 z (*.f64 (/.f64 z (*.f64 y y)) 2)))
(*.f64 (/.f64 2 y) (/.f64 (/.f64 x (/.f64 1 z)) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 2 z))))
(*.f64 z (/.f64 (/.f64 2 y) (*.f64 (*.f64 2 (/.f64 z (*.f64 y y))) (/.f64 z x))))
(/.f64 (*.f64 z (/.f64 2 y)) (*.f64 (*.f64 z (/.f64 (/.f64 z y) y)) (/.f64 2 x)))
(/.f64 (*.f64 (/.f64 2 y) (/.f64 z (/.f64 2 x))) (*.f64 z (/.f64 z (*.f64 y y))))
(*.f64 z (/.f64 (/.f64 2 y) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 z (/.f64 2 x)))))
(/.f64 y (/.f64 (/.f64 z y) (*.f64 (/.f64 x (/.f64 2 z)) (/.f64 (/.f64 2 y) z))))
(/.f64 4 (+.f64 (*.f64 (/.f64 z y) (/.f64 2 x)) (*.f64 (/.f64 z y) (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 4 (/.f64 (/.f64 (*.f64 z 4) y) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 4 (*.f64 (/.f64 (*.f64 z 4) y) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 4 (*.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) 4) (+.f64 (/.f64 2 x) (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) 4) (/.f64 4 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) 4) (*.f64 4 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) 4) (*.f64 2 (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 8) (/.f64 (*.f64 z 8) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 8) (*.f64 8 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 8) (*.f64 (*.f64 z 8) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y 8) (*.f64 4 (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) (*.f64 x 4)) 4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 x z) (/.f64 1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1/2 (/.f64 (/.f64 z (+.f64 y y)) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1/2 (/.f64 (/.f64 z y) (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 1/2 (/.f64 (/.f64 1/2 y) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 y) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (+.f64 (/.f64 (neg.f64 z) x) (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (/.f64 (neg.f64 (+.f64 z z)) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (/.f64 (*.f64 z -2) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (*.f64 (*.f64 z -2) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (*.f64 (neg.f64 z) (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y -2) (*.f64 2 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (/.f64 y z) (/.f64 y z)) (/.f64 (*.f64 y (/.f64 2 z)) (+.f64 x x)))
(/.f64 (*.f64 (/.f64 y z) (/.f64 y z)) (*.f64 (/.f64 2 z) (/.f64 y (+.f64 x x))))
(*.f64 (/.f64 y z) (/.f64 (+.f64 x x) (/.f64 (*.f64 y (/.f64 2 z)) (/.f64 y z))))
(*.f64 (/.f64 y z) (/.f64 (/.f64 y z) (*.f64 y (/.f64 (/.f64 2 z) (+.f64 x x)))))
(/.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (*.f64 8 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 2 (*.f64 y 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 2 (*.f64 x 4)) (+.f64 (/.f64 (*.f64 z 4) y) (/.f64 (*.f64 z 4) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 2 (*.f64 x 4)) (*.f64 (/.f64 z y) 8))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 x (+.f64 z z)) (/.f64 1/2 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 z 4) y) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))) (/.f64 2 x)))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) (*.f64 y (/.f64 2 x))) 2) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 x (*.f64 (/.f64 1/2 (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 2 z))))
(/.f64 x (*.f64 (*.f64 z (*.f64 2 (/.f64 z (*.f64 y y)))) (/.f64 1/2 (/.f64 z y))))
(/.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 y (neg.f64 z)) (*.f64 -1 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (*.f64 (/.f64 z y) (/.f64 2 x)))
(*.f64 (/.f64 z y) (/.f64 (*.f64 y (/.f64 2 z)) (*.f64 (/.f64 z y) (/.f64 2 x))))
(*.f64 (*.f64 y (/.f64 x z)) (/.f64 (/.f64 z y) (/.f64 z y)))
(/.f64 (*.f64 y (/.f64 1/2 z)) (/.f64 1 (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x 1/2) (/.f64 z (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 x (*.f64 y (/.f64 1/2 z))) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 (neg.f64 y) 4) (*.f64 4 (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (*.f64 y -2)) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (/.f64 y z)) (/.f64 -1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 x) (neg.f64 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 (/.f64 x z) (/.f64 x z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4))) (*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 4)))) 16)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (+.f64 (neg.f64 x) (neg.f64 x)) (+.f64 (neg.f64 (/.f64 z y)) (neg.f64 (/.f64 z y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (+.f64 x x) z) (/.f64 2 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 4)) (/.f64 z y)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y 8) (/.f64 z x)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 y (/.f64 1 x)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 1 (/.f64 1 x)) (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (+.f64 y y) (/.f64 1 x)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 2 (/.f64 1 x)) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 1 x)) (*.f64 z 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (/.f64 1 z) (/.f64 1 x)) (/.f64 1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (neg.f64 y) (/.f64 1 x)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (/.f64 z y) (/.f64 1 x)) (*.f64 z (/.f64 (/.f64 z y) y)))
(/.f64 (/.f64 (/.f64 z y) (/.f64 1 x)) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 (/.f64 x (/.f64 y z)) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 (/.f64 -1 (/.f64 1 x)) (neg.f64 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 1 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))
(/.f64 (/.f64 x (/.f64 1 (*.f64 z (/.f64 2 y)))) (*.f64 z (*.f64 (/.f64 z (*.f64 y y)) 2)))
(*.f64 (/.f64 2 y) (/.f64 (/.f64 x (/.f64 1 z)) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 2 z))))
(*.f64 z (/.f64 (/.f64 2 y) (*.f64 (*.f64 2 (/.f64 z (*.f64 y y))) (/.f64 z x))))
(/.f64 (/.f64 4 (/.f64 1 x)) (/.f64 (*.f64 z 4) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y 8) (/.f64 1 x)) (*.f64 z 8))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (*.f64 z -2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 1 x)) (neg.f64 (+.f64 z z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 y z) 4)) (/.f64 1 x)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 2 (*.f64 y 8)) (/.f64 1 x)) (*.f64 2 (*.f64 z 8)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (/.f64 y (neg.f64 z)) (/.f64 1 x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (*.f64 z -2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (*.f64 2 (neg.f64 (+.f64 z z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 1 x)) (neg.f64 (*.f64 z 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (neg.f64 (*.f64 y -2)) (/.f64 1 x)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 1 (/.f64 2 x)) (/.f64 z (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (+.f64 y y) (/.f64 2 x)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 2 (/.f64 2 x)) (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 2 x)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 z (/.f64 2 y)) (/.f64 2 x)) (*.f64 z (/.f64 (/.f64 z y) y)))
(/.f64 (*.f64 (/.f64 2 y) (/.f64 z (/.f64 2 x))) (*.f64 z (/.f64 z (*.f64 y y))))
(*.f64 z (/.f64 (/.f64 2 y) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 z (/.f64 2 x)))))
(/.f64 y (/.f64 (/.f64 z y) (*.f64 (/.f64 x (/.f64 2 z)) (/.f64 (/.f64 2 y) z))))
(/.f64 (/.f64 4 (/.f64 2 x)) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y -2) (/.f64 2 x)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) y) (/.f64 2 x)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z y) y))))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) (*.f64 y (/.f64 2 x))) 2) (*.f64 z (/.f64 z (*.f64 y y))))
(/.f64 x (*.f64 (/.f64 1/2 (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (*.f64 2 z))))
(/.f64 x (*.f64 (*.f64 z (*.f64 2 (/.f64 z (*.f64 y y)))) (/.f64 1/2 (/.f64 z y))))
(/.f64 (/.f64 (*.f64 (*.f64 y (/.f64 2 z)) (/.f64 z y)) (/.f64 2 x)) (/.f64 z y))
(*.f64 (/.f64 z y) (/.f64 (*.f64 y (/.f64 2 z)) (*.f64 (/.f64 z y) (/.f64 2 x))))
(*.f64 (*.f64 y (/.f64 x z)) (/.f64 (/.f64 z y) (/.f64 z y)))
(/.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (+.f64 y y) (/.f64 (neg.f64 z) x)) -2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 y 4) (/.f64 (neg.f64 z) x)) -4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 (*.f64 (neg.f64 y) 4) (/.f64 (neg.f64 z) x)) 4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 x (/.f64 1 y)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 x 1/2) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (+.f64 x x)) (-.f64 0 (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (/.f64 x z)) (-.f64 0 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (neg.f64 (neg.f64 x)) (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.0b
(*.f64 y (/.f64 x z))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite82.0ms (1.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14813
212613
331713
485113
5420213
Stop Event
node limit
Counts
1 → 133
Calls
Call 1
Inputs
(*.f64 y (/.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 y (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 -1 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x z) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x z) (*.f64 1/2 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 z (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (+.f64 (/.f64 z y) (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 -2 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 z x) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 z (*.f64 y x)) (/.f64 z (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 z)) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 2 z)) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (+.f64 (*.f64 z (/.f64 2 y)) (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 2 (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 4 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (*.f64 z 4) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (+.f64 z z) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 -4 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (/.f64 4 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 z) (/.f64 (/.f64 1 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 z) (*.f64 (/.f64 1 x) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 z) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (/.f64 -1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 z x) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 z (neg.f64 x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (/.f64 z x)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (*.f64 (/.f64 z x) (/.f64 2 y)) (*.f64 (/.f64 z x) (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 (*.f64 z 4) x) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (/.f64 (*.f64 z 4) x) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) 4) (+.f64 (/.f64 2 y) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) 4) (/.f64 4 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) 4) (*.f64 4 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) 4) (*.f64 2 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (/.f64 (*.f64 z 8) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 8 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 (*.f64 z 8) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 4 (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) (*.f64 y 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y z) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 z (+.f64 x x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 z x) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 x) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (+.f64 (/.f64 (neg.f64 z) y) (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 z z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (/.f64 (*.f64 z -2) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (*.f64 z -2) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 (neg.f64 z) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -2) (*.f64 2 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x z) (/.f64 x z)) (/.f64 (*.f64 x (/.f64 2 z)) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (*.f64 8 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y 4)) (+.f64 (/.f64 (*.f64 z 4) x) (/.f64 (*.f64 z 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y 4)) (*.f64 (/.f64 z x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (+.f64 z z)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z 4) x) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (neg.f64 z)) (*.f64 -1 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (*.f64 (/.f64 z x) (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 z)) (/.f64 1 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 1/2) (/.f64 z (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x (/.f64 1/2 z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 4) (*.f64 4 (/.f64 (neg.f64 z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x -2)) (*.f64 z (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x z)) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 y) (neg.f64 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 y z) (/.f64 y z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 y) (neg.f64 y)) (+.f64 (neg.f64 (/.f64 z x)) (neg.f64 (/.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 y y) z) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 y 4)) (/.f64 z x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 z y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 1 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 y)) (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 1 y)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 y)) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 1 y)) (*.f64 z 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 z) (/.f64 1 y)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 x) (/.f64 1 y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 z x) (/.f64 1 y)) (*.f64 z (/.f64 (/.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 1 y)) (neg.f64 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 1 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 y)) (/.f64 (*.f64 z 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 z 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (*.f64 z -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (neg.f64 (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (/.f64 1 y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 y)) (*.f64 2 (*.f64 z 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 x (neg.f64 z)) (/.f64 1 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (neg.f64 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (neg.f64 (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 y)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 2 y)) (/.f64 z (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 2 y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 2 y)) (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 2 y)) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)) (*.f64 z (/.f64 (/.f64 z x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 2 y)) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -2) (/.f64 2 y)) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 z 4) x) (/.f64 2 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (/.f64 2 y)) (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (/.f64 (neg.f64 z) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 x x) (/.f64 (neg.f64 z) y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (/.f64 (neg.f64 z) y)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 (neg.f64 z) y)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (/.f64 1 x)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y 1/2) (*.f64 z (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 y z)) (-.f64 0 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 y)) (/.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (/.f64 x z)) 1)))))

simplify114.0ms (2.6%)

Algorithm
egg-herbie
Rules
1520×rational.json-simplify-43
1500×rational.json-simplify-35
1298×rational.json-simplify-2
724×rational.json-simplify-61
664×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03212605
112802557
245262545
379812545
Stop Event
node limit
Counts
169 → 154
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 y (/.f64 x z)) 0)
(+.f64 0 (*.f64 y (/.f64 x z)))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(/.f64 y (/.f64 z x))
(/.f64 x (/.f64 z y))
(/.f64 x (*.f64 -1 (/.f64 (neg.f64 z) y)))
(/.f64 (/.f64 x z) (/.f64 1 y))
(/.f64 (/.f64 x z) (*.f64 1/2 (/.f64 2 y)))
(/.f64 (*.f64 y (/.f64 x z)) 1)
(/.f64 1 (/.f64 z (*.f64 y x)))
(/.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))
(/.f64 (+.f64 x x) (+.f64 (/.f64 z y) (/.f64 z y)))
(/.f64 (+.f64 x x) (*.f64 -2 (/.f64 (neg.f64 z) y)))
(/.f64 2 (*.f64 (/.f64 z x) (/.f64 2 y)))
(/.f64 2 (+.f64 (/.f64 z (*.f64 y x)) (/.f64 z (*.f64 y x))))
(/.f64 (*.f64 x (/.f64 2 z)) (/.f64 2 y))
(/.f64 (*.f64 x (/.f64 2 z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))
(/.f64 (*.f64 x (/.f64 2 z)) (*.f64 2 (/.f64 1 y)))
(/.f64 (*.f64 x 4) (+.f64 (*.f64 z (/.f64 2 y)) (*.f64 z (/.f64 2 y))))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))
(/.f64 (*.f64 x 4) (*.f64 2 (*.f64 z (/.f64 2 y))))
(/.f64 (*.f64 x 4) (*.f64 4 (/.f64 z y)))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 z 4) (/.f64 1 y)))
(/.f64 (*.f64 x 4) (*.f64 (+.f64 z z) (/.f64 2 y)))
(/.f64 (*.f64 x 4) (*.f64 -4 (/.f64 (neg.f64 z) y)))
(/.f64 (*.f64 x 4) (/.f64 4 (/.f64 y z)))
(/.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))
(/.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 2)
(/.f64 (/.f64 1 z) (/.f64 (/.f64 1 x) y))
(/.f64 (/.f64 1 z) (*.f64 (/.f64 1 x) (/.f64 1 y)))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 z) y))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 y y)))
(/.f64 (neg.f64 x) (/.f64 -1 (/.f64 y z)))
(/.f64 (/.f64 z x) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 1 y)))
(/.f64 -1 (/.f64 (/.f64 z (neg.f64 x)) y))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 z x)) (/.f64 1 y)))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 1 y)))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 2 y)))
(/.f64 4 (+.f64 (*.f64 (/.f64 z x) (/.f64 2 y)) (*.f64 (/.f64 z x) (/.f64 2 y))))
(/.f64 4 (/.f64 (/.f64 (*.f64 z 4) x) y))
(/.f64 4 (*.f64 (/.f64 (*.f64 z 4) x) (/.f64 1 y)))
(/.f64 4 (*.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)))
(/.f64 (*.f64 (/.f64 x z) 4) (+.f64 (/.f64 2 y) (/.f64 2 y)))
(/.f64 (*.f64 (/.f64 x z) 4) (/.f64 4 y))
(/.f64 (*.f64 (/.f64 x z) 4) (*.f64 4 (/.f64 1 y)))
(/.f64 (*.f64 (/.f64 x z) 4) (*.f64 2 (/.f64 2 y)))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 z 8) y))
(/.f64 (*.f64 x 8) (*.f64 8 (/.f64 z y)))
(/.f64 (*.f64 x 8) (*.f64 (*.f64 z 8) (/.f64 1 y)))
(/.f64 (*.f64 x 8) (*.f64 4 (*.f64 z (/.f64 2 y))))
(/.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))
(/.f64 (*.f64 (/.f64 x z) (*.f64 y 4)) 4)
(/.f64 (/.f64 y z) (/.f64 1 x))
(/.f64 1/2 (/.f64 (/.f64 z (+.f64 x x)) y))
(/.f64 1/2 (/.f64 (/.f64 z x) (+.f64 y y)))
(/.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 y z)))
(/.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 x) y))
(/.f64 (*.f64 x -2) (+.f64 (/.f64 (neg.f64 z) y) (/.f64 (neg.f64 z) y)))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 z z)) y))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 z -2) y))
(/.f64 (*.f64 x -2) (*.f64 (*.f64 z -2) (/.f64 1 y)))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 y)))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 z) (/.f64 2 y)))
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 (neg.f64 z) y)))
(/.f64 (*.f64 (/.f64 x z) (/.f64 x z)) (/.f64 (*.f64 x (/.f64 2 z)) (+.f64 y y)))
(/.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (*.f64 8 (/.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 y 4)) (+.f64 (/.f64 (*.f64 z 4) x) (/.f64 (*.f64 z 4) x)))
(/.f64 (*.f64 2 (*.f64 y 4)) (*.f64 (/.f64 z x) 8))
(/.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) 8)
(/.f64 (/.f64 y (+.f64 z z)) (/.f64 1/2 x))
(/.f64 (/.f64 (*.f64 z 4) x) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 2 y)))
(/.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))
(/.f64 (/.f64 x (neg.f64 z)) (*.f64 -1 (/.f64 1 y)))
(/.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (*.f64 (/.f64 z x) (/.f64 2 y)))
(/.f64 (*.f64 x (/.f64 1/2 z)) (/.f64 1 (+.f64 y y)))
(/.f64 (*.f64 x (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 y)))
(/.f64 (*.f64 y 1/2) (/.f64 z (+.f64 x x)))
(/.f64 (*.f64 y (*.f64 x (/.f64 1/2 z))) 1/2)
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 y)))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 y)))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 y)))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 4 (/.f64 (neg.f64 z) y)))
(/.f64 (neg.f64 (*.f64 x -2)) (*.f64 z (/.f64 2 y)))
(/.f64 (neg.f64 (/.f64 x z)) (/.f64 -1 y))
(/.f64 (neg.f64 y) (neg.f64 (/.f64 z x)))
(/.f64 (+.f64 (/.f64 y z) (/.f64 y z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4)))) 16)
(/.f64 (+.f64 (neg.f64 y) (neg.f64 y)) (+.f64 (neg.f64 (/.f64 z x)) (neg.f64 (/.f64 z x))))
(/.f64 (/.f64 (+.f64 y y) z) (/.f64 2 x))
(/.f64 (/.f64 (*.f64 2 (*.f64 y 4)) (/.f64 z x)) 8)
(/.f64 (/.f64 (*.f64 x 8) (/.f64 z y)) 8)
(/.f64 (/.f64 x (/.f64 1 y)) z)
(/.f64 (/.f64 1 (/.f64 1 y)) (/.f64 z x))
(/.f64 (/.f64 (+.f64 x x) (/.f64 1 y)) (+.f64 z z))
(/.f64 (/.f64 2 (/.f64 1 y)) (*.f64 z (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 1 y)) (*.f64 z 4))
(/.f64 (/.f64 (/.f64 1 z) (/.f64 1 y)) (/.f64 1 x))
(/.f64 (/.f64 (neg.f64 x) (/.f64 1 y)) (neg.f64 z))
(/.f64 (/.f64 (/.f64 z x) (/.f64 1 y)) (*.f64 z (/.f64 (/.f64 z x) x)))
(/.f64 (/.f64 -1 (/.f64 1 y)) (neg.f64 (/.f64 z x)))
(/.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 1 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 (/.f64 4 (/.f64 1 y)) (/.f64 (*.f64 z 4) x))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 z 8))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (*.f64 z -2))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (neg.f64 (+.f64 z z)))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (/.f64 1 y)) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 y)) (*.f64 2 (*.f64 z 8)))
(/.f64 (/.f64 (/.f64 x (neg.f64 z)) (/.f64 1 y)) -1)
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (*.f64 z -2)))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (neg.f64 (+.f64 z z))))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (neg.f64 (*.f64 z 4)))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 y)) (+.f64 z z))
(/.f64 (/.f64 1 (/.f64 2 y)) (/.f64 z (+.f64 x x)))
(/.f64 (/.f64 (+.f64 x x) (/.f64 2 y)) z)
(/.f64 (/.f64 2 (/.f64 2 y)) (/.f64 z x))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 2 y)) (+.f64 z z))
(/.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)) (*.f64 z (/.f64 (/.f64 z x) x)))
(/.f64 (/.f64 4 (/.f64 2 y)) (*.f64 z (/.f64 2 x)))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 2 y)) (neg.f64 z))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) x) (/.f64 2 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 (/.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (/.f64 2 y)) (/.f64 z x))
(/.f64 (/.f64 x (/.f64 (neg.f64 z) y)) -1)
(/.f64 (/.f64 (+.f64 x x) (/.f64 (neg.f64 z) y)) -2)
(/.f64 (/.f64 (*.f64 x 4) (/.f64 (neg.f64 z) y)) -4)
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 (neg.f64 z) y)) 4)
(/.f64 (/.f64 y (/.f64 1 x)) z)
(/.f64 (/.f64 y 1/2) (*.f64 z (/.f64 2 x)))
(/.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))
(/.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 z (/.f64 2 x))))
(/.f64 (neg.f64 (/.f64 y z)) (-.f64 0 (/.f64 1 x)))
(/.f64 (neg.f64 (neg.f64 y)) (/.f64 z x))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(+.f64 0 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 x (/.f64 z y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (*.f64 -1 (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 x z) (/.f64 1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 x z) (*.f64 1/2 (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 1 (/.f64 z (*.f64 y x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 x x) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 x x) (+.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 x x) (*.f64 -2 (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 2 (*.f64 (/.f64 z x) (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 2 (+.f64 (/.f64 z (*.f64 y x)) (/.f64 z (*.f64 y x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x (/.f64 2 z)) (/.f64 2 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x (/.f64 2 z)) (+.f64 (/.f64 1 y) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x (/.f64 2 z)) (*.f64 2 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (+.f64 (*.f64 z (/.f64 2 y)) (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (/.f64 (*.f64 z 4) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (*.f64 2 (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (*.f64 4 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (*.f64 (*.f64 z 4) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (*.f64 (+.f64 z z) (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (*.f64 -4 (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 4) (/.f64 4 (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 y y) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 1 z) (/.f64 (/.f64 1 x) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 1 z) (*.f64 (/.f64 1 x) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 z) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 x) (/.f64 (neg.f64 (+.f64 z z)) (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 x) (/.f64 -1 (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 z x) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 1 y)))
(/.f64 (/.f64 (/.f64 z x) (/.f64 1 y)) (*.f64 z (/.f64 z (*.f64 x x))))
(/.f64 y (*.f64 (/.f64 x z) (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 y (*.f64 (/.f64 x z) (*.f64 z (/.f64 z (*.f64 x x)))))
(/.f64 -1 (/.f64 (/.f64 z (neg.f64 x)) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 -1 (*.f64 (neg.f64 (/.f64 z x)) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 1 y)))
(/.f64 (*.f64 (/.f64 2 x) (/.f64 z (/.f64 1 y))) (*.f64 z (*.f64 (/.f64 z (*.f64 x x)) 2)))
(*.f64 (/.f64 2 x) (/.f64 (/.f64 z (/.f64 1 y)) (*.f64 (/.f64 (/.f64 z x) x) (*.f64 z 2))))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (/.f64 z (*.f64 x x)) (*.f64 (/.f64 z y) 2)))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (*.f64 z (/.f64 (/.f64 z x) x)) (/.f64 2 y)))
(/.f64 (*.f64 (/.f64 2 x) (/.f64 z (/.f64 2 y))) (*.f64 z (/.f64 z (*.f64 x x))))
(*.f64 (/.f64 2 x) (/.f64 z (*.f64 z (*.f64 (/.f64 (/.f64 z x) x) (/.f64 2 y)))))
(*.f64 z (/.f64 (/.f64 2 x) (*.f64 z (*.f64 (/.f64 2 y) (/.f64 z (*.f64 x x))))))
(/.f64 4 (+.f64 (*.f64 (/.f64 z x) (/.f64 2 y)) (*.f64 (/.f64 z x) (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 4 (/.f64 (/.f64 (*.f64 z 4) x) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 4 (*.f64 (/.f64 (*.f64 z 4) x) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 4 (*.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) 4) (+.f64 (/.f64 2 y) (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) 4) (/.f64 4 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) 4) (*.f64 4 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) 4) (*.f64 2 (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 8) (/.f64 (*.f64 z 8) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 8) (*.f64 8 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 8) (*.f64 (*.f64 z 8) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x 8) (*.f64 4 (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y 4) (/.f64 (*.f64 z 4) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) (*.f64 y 4)) 4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 y z) (/.f64 1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 1/2 (/.f64 (/.f64 z (+.f64 x x)) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 1/2 (/.f64 (/.f64 z x) (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 1/2 (/.f64 (/.f64 1/2 x) (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 1/2 z) (/.f64 (/.f64 1/2 x) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (+.f64 (/.f64 (neg.f64 z) y) (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (/.f64 (neg.f64 (+.f64 z z)) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (/.f64 (*.f64 z -2) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (*.f64 (*.f64 z -2) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 (+.f64 z z)) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (*.f64 (neg.f64 z) (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x -2) (*.f64 2 (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (/.f64 x z) (/.f64 x z)) (/.f64 (*.f64 x (/.f64 2 z)) (+.f64 y y)))
(*.f64 (/.f64 x z) (/.f64 (/.f64 x z) (*.f64 (/.f64 2 z) (/.f64 x (+.f64 y y)))))
(*.f64 (/.f64 x z) (/.f64 (+.f64 y y) (/.f64 (*.f64 x (/.f64 2 z)) (/.f64 x z))))
(/.f64 (*.f64 (/.f64 x z) (/.f64 x z)) (*.f64 x (/.f64 (/.f64 2 z) (+.f64 y y))))
(/.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (*.f64 8 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 (*.f64 2 (*.f64 z 8)) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 2 (*.f64 y 4)) (+.f64 (/.f64 (*.f64 z 4) x) (/.f64 (*.f64 z 4) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 2 (*.f64 y 4)) (*.f64 (/.f64 z x) 8))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 y (+.f64 z z)) (/.f64 1/2 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 z 4) x) (*.f64 (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))) (/.f64 2 y)))
(/.f64 (/.f64 (*.f64 z 4) (*.f64 x (/.f64 2 y))) (*.f64 z (*.f64 (/.f64 z (*.f64 x x)) 2)))
(/.f64 y (*.f64 (/.f64 1/2 (/.f64 z x)) (*.f64 (/.f64 (/.f64 z x) x) (*.f64 z 2))))
(/.f64 y (*.f64 2 (*.f64 (*.f64 z (/.f64 z (*.f64 x x))) (/.f64 1/2 (/.f64 z x)))))
(/.f64 (/.f64 x (neg.f64 z)) (/.f64 -1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 x (neg.f64 z)) (*.f64 -1 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (*.f64 (/.f64 z x) (/.f64 2 y)))
(/.f64 (*.f64 (/.f64 z x) (*.f64 x (/.f64 2 z))) (*.f64 (/.f64 z x) (/.f64 2 y)))
(*.f64 (*.f64 y (/.f64 x z)) (/.f64 (/.f64 z x) (/.f64 z x)))
(*.f64 (/.f64 x (/.f64 z y)) (/.f64 (/.f64 z x) (/.f64 z x)))
(/.f64 (*.f64 x (/.f64 1/2 z)) (/.f64 1 (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x (/.f64 1/2 z)) (*.f64 1/2 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y 1/2) (/.f64 z (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 y (*.f64 x (/.f64 1/2 z))) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (*.f64 z -2)) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (*.f64 2 (neg.f64 (+.f64 z z))) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 (neg.f64 (*.f64 z 4)) (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 (neg.f64 x) 4) (*.f64 4 (/.f64 (neg.f64 z) y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 (*.f64 x -2)) (*.f64 z (/.f64 2 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 (/.f64 x z)) (/.f64 -1 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 y) (neg.f64 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 (/.f64 y z) (/.f64 y z)) (+.f64 (/.f64 1 x) (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4))) (*.f64 2 (*.f64 (/.f64 x z) (*.f64 y 4)))) 16)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (+.f64 (neg.f64 y) (neg.f64 y)) (+.f64 (neg.f64 (/.f64 z x)) (neg.f64 (/.f64 z x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (+.f64 y y) z) (/.f64 2 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 2 (*.f64 y 4)) (/.f64 z x)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 z y)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 x (/.f64 1 y)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 1 (/.f64 1 y)) (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 1 y)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 2 (/.f64 1 y)) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 1 y)) (*.f64 z 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (/.f64 1 z) (/.f64 1 y)) (/.f64 1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (neg.f64 x) (/.f64 1 y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (/.f64 z x) (/.f64 1 y)) (*.f64 z (/.f64 (/.f64 z x) x)))
(/.f64 (/.f64 (/.f64 z x) (/.f64 1 y)) (*.f64 z (/.f64 z (*.f64 x x))))
(/.f64 y (*.f64 (/.f64 x z) (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 y (*.f64 (/.f64 x z) (*.f64 z (/.f64 z (*.f64 x x)))))
(/.f64 (/.f64 -1 (/.f64 1 y)) (neg.f64 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 1 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 (*.f64 (/.f64 2 x) (/.f64 z (/.f64 1 y))) (*.f64 z (*.f64 (/.f64 z (*.f64 x x)) 2)))
(*.f64 (/.f64 2 x) (/.f64 (/.f64 z (/.f64 1 y)) (*.f64 (/.f64 (/.f64 z x) x) (*.f64 z 2))))
(/.f64 (*.f64 z (/.f64 2 x)) (*.f64 (/.f64 z (*.f64 x x)) (*.f64 (/.f64 z y) 2)))
(/.f64 (/.f64 4 (/.f64 1 y)) (/.f64 (*.f64 z 4) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x 8) (/.f64 1 y)) (*.f64 z 8))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (*.f64 z -2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 1 y)) (neg.f64 (+.f64 z z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (/.f64 x z) 4)) (/.f64 1 y)) 8)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 2 (*.f64 x 8)) (/.f64 1 y)) (*.f64 2 (*.f64 z 8)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (/.f64 x (neg.f64 z)) (/.f64 1 y)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (*.f64 z -2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (*.f64 2 (neg.f64 (+.f64 z z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 1 y)) (neg.f64 (*.f64 z 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (neg.f64 (*.f64 x -2)) (/.f64 1 y)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 1 (/.f64 2 y)) (/.f64 z (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 2 y)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 2 (/.f64 2 y)) (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 2 y)) (+.f64 z z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 z (/.f64 2 x)) (/.f64 2 y)) (*.f64 z (/.f64 (/.f64 z x) x)))
(/.f64 (*.f64 (/.f64 2 x) (/.f64 z (/.f64 2 y))) (*.f64 z (/.f64 z (*.f64 x x))))
(*.f64 (/.f64 2 x) (/.f64 z (*.f64 z (*.f64 (/.f64 (/.f64 z x) x) (/.f64 2 y)))))
(*.f64 z (/.f64 (/.f64 2 x) (*.f64 z (*.f64 (/.f64 2 y) (/.f64 z (*.f64 x x))))))
(/.f64 (/.f64 4 (/.f64 2 y)) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x -2) (/.f64 2 y)) (neg.f64 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (/.f64 (*.f64 z 4) x) (/.f64 2 y)) (*.f64 2 (*.f64 z (/.f64 (/.f64 z x) x))))
(/.f64 (/.f64 (*.f64 z 4) (*.f64 x (/.f64 2 y))) (*.f64 z (*.f64 (/.f64 z (*.f64 x x)) 2)))
(/.f64 y (*.f64 (/.f64 1/2 (/.f64 z x)) (*.f64 (/.f64 (/.f64 z x) x) (*.f64 z 2))))
(/.f64 y (*.f64 2 (*.f64 (*.f64 z (/.f64 z (*.f64 x x))) (/.f64 1/2 (/.f64 z x)))))
(/.f64 (/.f64 (*.f64 (*.f64 x (/.f64 2 z)) (/.f64 z x)) (/.f64 2 y)) (/.f64 z x))
(/.f64 (*.f64 (/.f64 z x) (*.f64 x (/.f64 2 z))) (*.f64 (/.f64 z x) (/.f64 2 y)))
(*.f64 (*.f64 y (/.f64 x z)) (/.f64 (/.f64 z x) (/.f64 z x)))
(*.f64 (/.f64 x (/.f64 z y)) (/.f64 (/.f64 z x) (/.f64 z x)))
(/.f64 (/.f64 x (/.f64 (neg.f64 z) y)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (+.f64 x x) (/.f64 (neg.f64 z) y)) -2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 x 4) (/.f64 (neg.f64 z) y)) -4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 (*.f64 (neg.f64 x) 4) (/.f64 (neg.f64 z) y)) 4)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 y (/.f64 1 x)) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 y 1/2) (*.f64 z (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (/.f64 y (neg.f64 z)) (/.f64 -1 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 (+.f64 y y)) (-.f64 0 (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 (/.f64 y z)) (-.f64 0 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 (neg.f64 (neg.f64 y)) (/.f64 z x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.2b
(/.f64 (*.f64 x y) z)
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite68.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1846×rational.json-simplify-35
1242×rational.json-1
1242×rational.json-2
1242×rational.json-4
1242×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15013
214613
341913
4134813
5376313
Stop Event
node limit
Counts
1 → 70
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (*.f64 x y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) (*.f64 (/.f64 1/2 z) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 x y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 y (/.f64 2 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 1 z)) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 z) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 1/2 (*.f64 x (/.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (*.f64 x (/.f64 2 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 2 z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (*.f64 (*.f64 2 (/.f64 1 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) (*.f64 (/.f64 2 z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) (*.f64 (/.f64 1 z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) (*.f64 (*.f64 (/.f64 1 z) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 z) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 y (/.f64 1/2 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (/.f64 1/2 z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 y 1/2) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (*.f64 x y) 2) (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (/.f64 y z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 y z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y 1/2) (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 y (*.f64 x (/.f64 1/2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (*.f64 y (/.f64 1/2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x y) (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/2 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (*.f64 (/.f64 1 (*.f64 z 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/4 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (neg.f64 x)) (*.f64 (/.f64 -1 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 x y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (neg.f64 x) z) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (*.f64 x y) (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 z)) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 y (/.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 1/2 z)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 z) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x y) (neg.f64 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 z) (*.f64 y (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))))))

simplify136.0ms (3.2%)

Algorithm
egg-herbie
Rules
1596×rational.json-simplify-35
1376×rational.json-simplify-49
986×rational.json-simplify-43
938×exponential.json-simplify-26
808×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01491378
13341378
27441378
318501378
444041378
563061378
670591378
775971378
Stop Event
node limit
Counts
106 → 71
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 x (/.f64 y z)) 0)
(+.f64 0 (*.f64 x (/.f64 y z)))
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x y) (neg.f64 z))))
(+.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) (*.f64 (/.f64 1/2 z) (*.f64 x y)))
(-.f64 (*.f64 x (/.f64 y z)) 0)
(-.f64 0 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 x (*.f64 (*.f64 y (/.f64 2 z)) 1/2))
(*.f64 x (*.f64 (*.f64 2 (/.f64 1 z)) (*.f64 y 1/2)))
(*.f64 x (*.f64 (/.f64 2 z) (*.f64 y 1/2)))
(*.f64 y (/.f64 x z))
(*.f64 y (*.f64 1/2 (*.f64 x (/.f64 2 z))))
(*.f64 y (*.f64 (*.f64 x (/.f64 2 z)) 1/2))
(*.f64 y (*.f64 (/.f64 2 z) (*.f64 x 1/2)))
(*.f64 (*.f64 x y) (/.f64 1 z))
(*.f64 (*.f64 x y) (*.f64 (*.f64 2 (/.f64 1 z)) 1/2))
(*.f64 (*.f64 x y) (*.f64 (/.f64 2 z) 1/2))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 z))
(*.f64 (*.f64 x (+.f64 y y)) (*.f64 (/.f64 1 z) 1/2))
(*.f64 (*.f64 x (+.f64 y y)) (*.f64 (*.f64 (/.f64 1 z) 1/2) 1))
(*.f64 (/.f64 x z) y)
(*.f64 2 (*.f64 (/.f64 1/2 z) (*.f64 x y)))
(*.f64 2 (*.f64 (*.f64 y (/.f64 1/2 z)) x))
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/2 z)) y))
(*.f64 2 (*.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 1))
(*.f64 2 (*.f64 (*.f64 y 1/2) (/.f64 x z)))
(*.f64 2 (*.f64 (/.f64 (*.f64 x y) 2) (/.f64 1 z)))
(*.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 y z)))
(*.f64 2 (*.f64 (*.f64 x (/.f64 y z)) 1/2))
(*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 1/2)))
(*.f64 2 (/.f64 (*.f64 y 1/2) (/.f64 z x)))
(*.f64 2 (*.f64 y (*.f64 x (/.f64 1/2 z))))
(*.f64 2 (*.f64 x (*.f64 y (/.f64 1/2 z))))
(*.f64 2 (*.f64 (*.f64 x y) (/.f64 1/2 z)))
(*.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 z)))
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 y z)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)
(*.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 (/.f64 1 (*.f64 z 4)) 1))
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/4 (/.f64 1 z)))
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 z)))
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x z)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 (/.f64 1 z) (*.f64 x y))
(*.f64 (/.f64 y z) x)
(*.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 z))
(*.f64 (*.f64 y (neg.f64 x)) (*.f64 (/.f64 -1 z) 1))
(*.f64 -1 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 -1 (*.f64 (/.f64 (neg.f64 x) z) y))
(*.f64 -1 (*.f64 (/.f64 (*.f64 x y) (neg.f64 z)) 1))
(*.f64 (*.f64 x (/.f64 2 z)) (*.f64 y 1/2))
(*.f64 (*.f64 y (/.f64 2 z)) (*.f64 x 1/2))
(*.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))
(*.f64 (*.f64 x 1/2) (*.f64 y (/.f64 2 z)))
(*.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 z)))
(*.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))
(*.f64 (*.f64 y (/.f64 1/2 z)) (+.f64 x x))
(*.f64 (/.f64 1/2 z) (*.f64 x (+.f64 y y)))
(*.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 x (+.f64 y y)))
(*.f64 (/.f64 (*.f64 x y) (neg.f64 z)) -1)
(*.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 2)
(*.f64 (/.f64 -1 z) (*.f64 y (neg.f64 x)))
(*.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(+.f64 0 (*.f64 x (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x y) (neg.f64 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) (*.f64 (/.f64 1/2 z) (*.f64 x y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(-.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(-.f64 0 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (*.f64 (*.f64 y (/.f64 2 z)) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (*.f64 (*.f64 2 (/.f64 1 z)) (*.f64 y 1/2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (*.f64 (/.f64 2 z) (*.f64 y 1/2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 y x) z)
(*.f64 y (*.f64 1/2 (*.f64 x (/.f64 2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (*.f64 (*.f64 x (/.f64 2 z)) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 y (*.f64 (/.f64 2 z) (*.f64 x 1/2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x y) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x y) (*.f64 (*.f64 2 (/.f64 1 z)) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x y) (*.f64 (/.f64 2 z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (+.f64 y y)) (/.f64 1/2 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (+.f64 y y)) (*.f64 (/.f64 1 z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (+.f64 y y)) (*.f64 (*.f64 (/.f64 1 z) 1/2) 1))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (/.f64 1/2 z) (*.f64 x y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 y (/.f64 1/2 z)) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/2 z)) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 1))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 y 1/2) (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (/.f64 (*.f64 x y) 2) (/.f64 1 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 x 1/2) (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 x (/.f64 y z)) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (/.f64 y z) (*.f64 x 1/2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (/.f64 (*.f64 y 1/2) (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 y (*.f64 x (/.f64 1/2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 x (*.f64 y (/.f64 1/2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 2 (*.f64 (*.f64 x y) (/.f64 1/2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 x x) (*.f64 y (/.f64 1/2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 (/.f64 1 (*.f64 z 4)) 1))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/4 (/.f64 1 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (*.f64 x 4)) (*.f64 1/2 (/.f64 1/2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 y y) (*.f64 1/2 (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 1 z) (*.f64 x y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (neg.f64 x)) (/.f64 -1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (neg.f64 x)) (*.f64 (/.f64 -1 z) 1))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 -1 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 -1 (*.f64 (/.f64 (neg.f64 x) z) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 -1 (*.f64 (/.f64 (*.f64 x y) (neg.f64 z)) 1))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (/.f64 2 z)) (*.f64 y 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (/.f64 2 z)) (*.f64 x 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x 1/2) (*.f64 y (/.f64 2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y 1/2) (*.f64 x (/.f64 2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 y (/.f64 1/2 z)) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 1/2 z) (*.f64 x (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 x (+.f64 y y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 (*.f64 x y) (neg.f64 z)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (*.f64 (/.f64 1/2 z) (*.f64 x y)) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 -1 z) (*.f64 y (neg.f64 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(neg.f64 (/.f64 (*.f64 x y) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)

eval65.0ms (1.5%)

Compiler

Compiled 4121 to 2110 computations (48.8% saved)

prune59.0ms (1.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New3743377
Fresh000
Picked011
Done022
Total3746380
Error
0b
Counts
380 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
4.4b
(/.f64 (/.f64 y (/.f64 1 x)) z)
4.3b
(/.f64 (*.f64 x y) z)
5.9b
(/.f64 y (/.f64 z x))
6.7b
(/.f64 x (/.f64 z y))
6.3b
(*.f64 y (/.f64 x z))
7.0b
(*.f64 x (/.f64 y z))
Compiler

Compiled 50 to 32 computations (36% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.5b
(/.f64 x (/.f64 z y))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f64 x (/.f64 z y))
0.0ms
y
@-inf
(/.f64 x (/.f64 z y))
0.0ms
z
@-inf
(/.f64 x (/.f64 z y))
0.0ms
z
@inf
(/.f64 x (/.f64 z y))
0.0ms
x
@-inf
(/.f64 x (/.f64 z y))

rewrite80.0ms (1.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15213
217213
356713
4211113
5576113
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(/.f64 x (/.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (*.f64 z (/.f64 2 y))) (/.f64 x (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (/.f64 y z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 z z)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 x z) 1/2) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 y z) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (/.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y z) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 z (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (/.f64 y z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))))))

simplify100.0ms (2.3%)

Algorithm
egg-herbie
Rules
1360×rational.json-simplify-35
1028×rational.json-simplify-53
960×rational.json-simplify-43
874×rational.json-simplify-1
846×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041079
12221079
24961079
316411079
449121079
574461079
Stop Event
node limit
Counts
83 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 x (/.f64 y z)) 0)
(+.f64 0 (*.f64 x (/.f64 y z)))
(+.f64 (/.f64 x (*.f64 z (/.f64 2 y))) (/.f64 x (*.f64 z (/.f64 2 y))))
(-.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 (+.f64 x x) (/.f64 (/.f64 y z) 2))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 z z)) y))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))
(*.f64 2 (/.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 x z) 1/2) y))
(*.f64 2 (*.f64 (/.f64 (/.f64 y z) 2) x))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))
(*.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))
(*.f64 -1 (/.f64 x (/.f64 z (neg.f64 y))))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))
(*.f64 (/.f64 (/.f64 y z) 2) (+.f64 x x))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))
(*.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))
(*.f64 (/.f64 x (/.f64 z (neg.f64 y))) -1)
(*.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))
(*.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))
(*.f64 (/.f64 (*.f64 x (/.f64 y z)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(*.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 0 (*.f64 x (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (/.f64 x (*.f64 z (/.f64 2 y))) (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (*.f64 x (/.f64 y z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 x (/.f64 y z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (/.f64 (/.f64 y z) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 z z)) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 (*.f64 x (/.f64 y z)) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (*.f64 (*.f64 (/.f64 x z) 1/2) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (*.f64 (/.f64 (/.f64 y z) 2) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (*.f64 y (/.f64 2 z))) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 x (/.f64 z (neg.f64 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1/2 (*.f64 x (*.f64 y (/.f64 2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (/.f64 y z) 2) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (/.f64 z (neg.f64 y))) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (*.f64 x (/.f64 y z)) 2) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 x (/.f64 y z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.7b
(/.f64 y (/.f64 z x))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
z
@-inf
(/.f64 y (/.f64 z x))
0.0ms
y
@0
(/.f64 y (/.f64 z x))
0.0ms
x
@0
(/.f64 y (/.f64 z x))
0.0ms
x
@inf
(/.f64 y (/.f64 z x))
0.0ms
y
@-inf
(/.f64 y (/.f64 z x))

rewrite79.0ms (1.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15213
217213
356713
4211113
5576113
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(/.f64 y (/.f64 z x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y (*.f64 z (/.f64 2 x))) (/.f64 y (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (/.f64 x z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 (+.f64 z z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 y z) 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 x z) 2) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (/.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (*.f64 x (/.f64 2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x z) 2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 z (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (/.f64 z (neg.f64 x))))))))

simplify101.0ms (2.3%)

Algorithm
egg-herbie
Rules
1344×rational.json-simplify-35
1032×rational.json-simplify-53
936×rational.json-simplify-43
880×rational.json-simplify-1
784×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041079
12221079
24901079
316171079
447701079
573021079
Stop Event
node limit
Counts
83 → 48
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(+.f64 (*.f64 y (/.f64 x z)) 0)
(+.f64 0 (*.f64 y (/.f64 x z)))
(+.f64 (/.f64 y (*.f64 z (/.f64 2 x))) (/.f64 y (*.f64 z (/.f64 2 x))))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 (+.f64 y y) (/.f64 (/.f64 x z) 2))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (+.f64 z z)) x))
(*.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 y z) 1/2) x))
(*.f64 2 (*.f64 (/.f64 (/.f64 x z) 2) y))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))
(*.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 1/2)
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))
(*.f64 (/.f64 y z) x)
(*.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))
(*.f64 -1 (/.f64 y (/.f64 z (neg.f64 x))))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 1/2 (*.f64 y (*.f64 x (/.f64 2 z))))
(*.f64 (/.f64 (/.f64 x z) 2) (+.f64 y y))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))
(*.f64 (/.f64 y (/.f64 z (neg.f64 x))) -1)
(*.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))
(*.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))
(*.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))
(*.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)
(*.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))
(*.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(neg.f64 (/.f64 y (/.f64 z (neg.f64 x))))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 0 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (/.f64 y (*.f64 z (/.f64 2 x))) (/.f64 y (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (/.f64 (/.f64 x z) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 (+.f64 z z)) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 y (*.f64 z (/.f64 2 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (*.f64 (*.f64 (/.f64 y z) 1/2) x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (*.f64 (/.f64 (/.f64 x z) 2) y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 (/.f64 z y) 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (*.f64 x (/.f64 2 z))) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 z x) 4)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (/.f64 -1 (/.f64 z y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x z) (/.f64 1 (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) (/.f64 1 (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 y (/.f64 z (neg.f64 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 y)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (/.f64 y (/.f64 1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1/2 (*.f64 y (*.f64 x (/.f64 2 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (/.f64 x z) 2) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 1 y)) (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 y z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (/.f64 z (neg.f64 x))) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (/.f64 1 y)) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (/.f64 1 x)) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (*.f64 z (/.f64 2 x))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 z y) 4)) (*.f64 x 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 z x) 4)) (*.f64 y 4))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 (/.f64 z y)) (neg.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (/.f64 z (neg.f64 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f64 y (/.f64 1 x))
4.2b
(/.f64 (/.f64 y (/.f64 1 x)) z)
Compiler

Compiled 22 to 13 computations (40.9% saved)

series2.0ms (0%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(/.f64 y (/.f64 1 x))
0.0ms
x
@-inf
(/.f64 y (/.f64 1 x))
0.0ms
x
@inf
(/.f64 y (/.f64 1 x))
0.0ms
y
@-inf
(/.f64 y (/.f64 1 x))
0.0ms
y
@0
(/.f64 (/.f64 y (/.f64 1 x)) z)

rewrite73.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1532×rational.json-simplify-50
1420×exponential.json-3
1420×rational.json-1
1420×rational.json-2
1420×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0932
18126
227520
399920
4419620
Stop Event
node limit
Counts
2 → 130
Calls
Call 1
Inputs
(/.f64 (/.f64 y (/.f64 1 x)) z)
(/.f64 y (/.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x (*.f64 x (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y x) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 x x)) (*.f64 (/.f64 1 z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y x) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (*.f64 2 (/.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 2 (/.f64 z (/.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 1/2 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 1 z) (/.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y z) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 1 (*.f64 x (/.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 (+.f64 x x) z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (/.f64 2 z)) (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (/.f64 z (/.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (*.f64 z (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 y x)) (/.f64 -1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (neg.f64 z)) (/.f64 1 (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (*.f64 z (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 y (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 y x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 y z) (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x x) z) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (/.f64 (+.f64 x x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 z) (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 z) (/.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 z x)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) (*.f64 y (/.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (/.f64 (+.f64 x x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 z) (/.f64 x 2)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 z (/.f64 -1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y x) (neg.f64 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y x) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 2 x)) (/.f64 2 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 z) (neg.f64 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 2 (/.f64 z x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 x (/.f64 z y))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 x (/.f64 z y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 z (/.f64 y 4))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 z (/.f64 y 4))) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 z (/.f64 -1 x))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 y z) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (*.f64 z (/.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 y x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 2 (/.f64 4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 1 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 x 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (/.f64 2 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (/.f64 1 (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (/.f64 2 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 y (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 x)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 2 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 x y)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 x y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 2 y))) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 y)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 4 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 1 x) 4)) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y x)))))))

simplify206.0ms (4.8%)

Algorithm
egg-herbie
Rules
936×rational.json-simplify-44
928×rational.json-simplify-54
848×rational.json-simplify-47
832×rational.json-simplify-35
830×rational.json-simplify-55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02292344
14832248
211812248
344942248
479772248
Stop Event
node limit
Counts
190 → 139
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(/.f64 (*.f64 y x) z)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 y (/.f64 x z)) 0)
(+.f64 0 (*.f64 y (/.f64 x z)))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 y (/.f64 x z))
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 x (/.f64 x (*.f64 x (/.f64 z y))))
(*.f64 (*.f64 y x) (/.f64 1 z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 z))
(*.f64 (*.f64 y (+.f64 x x)) (*.f64 (/.f64 1 z) 1/2))
(*.f64 2 (/.f64 (*.f64 y x) (+.f64 z z)))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 2 (/.f64 y (*.f64 2 (/.f64 z x))))
(*.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 z (/.f64 y 4))))
(*.f64 (+.f64 y y) (/.f64 1/2 (/.f64 z x)))
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 z) (/.f64 x 2)))
(*.f64 (/.f64 y z) x)
(*.f64 (*.f64 x x) (/.f64 1 (*.f64 x (/.f64 z y))))
(*.f64 (*.f64 y (/.f64 (+.f64 x x) z)) 1/2)
(*.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))
(*.f64 (*.f64 y (/.f64 2 z)) (/.f64 x 2))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 z (/.f64 y 4))))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 1 z) (*.f64 y x))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 z (/.f64 -1 x))))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 (neg.f64 (*.f64 y x)) (/.f64 -1 z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(*.f64 (/.f64 y (neg.f64 z)) (/.f64 1 (/.f64 -1 x)))
(*.f64 -1 (/.f64 y (*.f64 z (/.f64 -1 x))))
(*.f64 -1 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))
(*.f64 -1 (/.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 -1 (/.f64 (*.f64 y x) (neg.f64 z)))
(*.f64 -1 (/.f64 (/.f64 y z) (/.f64 -1 x)))
(*.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))
(*.f64 (/.f64 (+.f64 x x) z) (*.f64 y 1/2))
(*.f64 1/2 (*.f64 y (/.f64 (+.f64 x x) z)))
(*.f64 (/.f64 1/2 z) (*.f64 y (+.f64 x x)))
(*.f64 (/.f64 2 z) (/.f64 y (/.f64 2 x)))
(*.f64 (/.f64 1/2 (/.f64 z x)) (+.f64 y y))
(*.f64 (/.f64 x 2) (*.f64 y (/.f64 2 z)))
(*.f64 (*.f64 y 1/2) (/.f64 (+.f64 x x) z))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 y (+.f64 x x)))
(*.f64 (*.f64 (/.f64 1 z) (/.f64 x 2)) (+.f64 y y))
(*.f64 (/.f64 y (*.f64 z (/.f64 -1 x))) -1)
(*.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))) -1)
(*.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)
(*.f64 (/.f64 (*.f64 y x) (neg.f64 z)) -1)
(*.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)) -1)
(*.f64 (/.f64 (*.f64 y x) (+.f64 z z)) 2)
(*.f64 (/.f64 y (/.f64 2 x)) (/.f64 2 z))
(*.f64 (/.f64 -1 z) (neg.f64 (*.f64 y x)))
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 (/.f64 y (*.f64 2 (/.f64 z x))) 2)
(*.f64 (/.f64 1 (*.f64 x (/.f64 z y))) (*.f64 x x))
(*.f64 (/.f64 x (*.f64 x (/.f64 z y))) x)
(*.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)
(*.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))) (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 z (/.f64 y 4))) (*.f64 x 4))
(*.f64 (/.f64 2 (/.f64 z (/.f64 y 4))) (+.f64 x x))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))) (*.f64 y 4))
(*.f64 (/.f64 1 (*.f64 z (/.f64 -1 x))) (neg.f64 y))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))) (neg.f64 y))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(*.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 y (neg.f64 z)))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(neg.f64 (*.f64 (/.f64 y z) (neg.f64 x)))
(neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))
(neg.f64 (/.f64 y (*.f64 z (/.f64 -1 x))))
(neg.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z)))
(neg.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)))
(+.f64 (*.f64 y x) 0)
(+.f64 0 (*.f64 y x))
(+.f64 -1 (-.f64 1 (neg.f64 (*.f64 y x))))
(-.f64 (*.f64 y x) 0)
(-.f64 0 (neg.f64 (*.f64 y x)))
(*.f64 y x)
(*.f64 1 (*.f64 y x))
(*.f64 x y)
(*.f64 x (/.f64 x (/.f64 x y)))
(*.f64 (*.f64 y x) 1)
(*.f64 (*.f64 y (+.f64 x x)) 1/2)
(*.f64 2 (/.f64 y (/.f64 2 x)))
(*.f64 2 (/.f64 (*.f64 y x) 2))
(*.f64 2 (/.f64 x (/.f64 2 y)))
(*.f64 (+.f64 x x) (*.f64 y 1/2))
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 4 y)))
(*.f64 (+.f64 y y) (/.f64 x 2))
(*.f64 (+.f64 y y) (*.f64 x 1/2))
(*.f64 (*.f64 x x) (/.f64 1 (/.f64 x y)))
(*.f64 (*.f64 y (*.f64 x 4)) 1/4)
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (/.f64 2 y))))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 y)))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) 4)))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1 x)))
(*.f64 (neg.f64 (*.f64 y x)) -1)
(*.f64 -1 (neg.f64 (*.f64 y x)))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 1/2 (*.f64 y (+.f64 x x)))
(*.f64 (/.f64 x 2) (+.f64 y y))
(*.f64 (*.f64 y 1/2) (+.f64 x x))
(*.f64 (*.f64 x 1/2) (+.f64 y y))
(*.f64 (/.f64 y (/.f64 2 x)) 2)
(*.f64 1/4 (*.f64 y (*.f64 x 4)))
(*.f64 (/.f64 1 (/.f64 -1 x)) (neg.f64 y))
(*.f64 (/.f64 (*.f64 y x) 2) 2)
(*.f64 (/.f64 x (/.f64 2 y)) 2)
(*.f64 (/.f64 1 (/.f64 x y)) (*.f64 x x))
(*.f64 (/.f64 x (/.f64 x y)) x)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 2 y))) (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 4 y)) (*.f64 x 4))
(*.f64 (/.f64 2 (/.f64 4 y)) (+.f64 x x))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) 4)) (*.f64 y 4))
(pow.f64 (*.f64 y x) 1)
(neg.f64 (neg.f64 (*.f64 y x)))
Outputs
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 (*.f64 y x) z)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 0 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(-.f64 (*.f64 y (/.f64 x z)) 0)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 1 (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 x (/.f64 x (*.f64 x (/.f64 z y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y x) (/.f64 1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (+.f64 x x)) (/.f64 1/2 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (+.f64 x x)) (*.f64 (/.f64 1 z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 (*.f64 y x) (+.f64 z z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 x (*.f64 z (/.f64 2 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 y (*.f64 2 (/.f64 z x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 2 (/.f64 (*.f64 y (/.f64 x z)) 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (*.f64 (/.f64 y z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 z (/.f64 y 4))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (/.f64 1/2 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 x (/.f64 1/2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 (/.f64 x z) 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (+.f64 y y) (*.f64 (/.f64 1 z) (/.f64 x 2)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x x) (/.f64 1 (*.f64 x (/.f64 z y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (/.f64 (+.f64 x x) z)) 1/2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y (*.f64 x 4)) (/.f64 1 (*.f64 z 4)))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (*.f64 y (/.f64 2 z)) (/.f64 x 2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 z (/.f64 y 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (/.f64 x z) y)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 z) (*.f64 y x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 z (/.f64 -1 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 y) (/.f64 -1 (/.f64 z x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 (*.f64 y x)) (/.f64 -1 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (neg.f64 x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (neg.f64 z)) (/.f64 1 (/.f64 -1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 y (*.f64 z (/.f64 -1 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 -1 (/.f64 (/.f64 y z) (/.f64 -1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (/.f64 y (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (+.f64 x x) z) (*.f64 y 1/2))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 1/2 (*.f64 y (/.f64 (+.f64 x x) z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1/2 z) (*.f64 y (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 2 z) (/.f64 y (/.f64 2 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1/2 (/.f64 z x)) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x 2) (*.f64 y (/.f64 2 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 y 1/2) (/.f64 (+.f64 x x) z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 y z) 1/2) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 x (/.f64 1/2 z)) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 x z) 1/2) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 1 z) 1/2) (*.f64 y (+.f64 x x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (*.f64 (/.f64 1 z) (/.f64 x 2)) (+.f64 y y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (*.f64 z (/.f64 -1 x))) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (/.f64 (neg.f64 z) x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (*.f64 y x) (neg.f64 z)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)) -1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (*.f64 y x) (+.f64 z z)) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (/.f64 2 x)) (/.f64 2 z))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 z) (neg.f64 (*.f64 y x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (*.f64 z (/.f64 2 y))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 y (*.f64 2 (/.f64 z x))) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 x (/.f64 z y))) (*.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 x (*.f64 x (/.f64 z y))) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 (*.f64 y (/.f64 x z)) 2) 2)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 z 4)) (*.f64 y (*.f64 x 4)))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 z (/.f64 2 y)))) (*.f64 x 4))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (/.f64 1 (/.f64 z (/.f64 y 4))) (*.f64 x 4))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (/.f64 2 (/.f64 z (/.f64 y 4))) (+.f64 x x))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (*.f64 z 4))) (*.f64 y 4))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1 (*.f64 z 4))))
(*.f64 y (*.f64 (*.f64 x 4) (/.f64 1/4 z)))
(*.f64 (/.f64 1 (*.f64 z (/.f64 -1 x))) (neg.f64 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) (neg.f64 z))) (neg.f64 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 -1 (/.f64 z x)) (neg.f64 y))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (/.f64 -1 x)) (/.f64 y (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(pow.f64 (*.f64 y (/.f64 x z)) 1)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (*.f64 (/.f64 y z) (neg.f64 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 x (/.f64 z (neg.f64 y))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (*.f64 z (/.f64 -1 x))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (*.f64 (/.f64 1 x) (neg.f64 z))))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 y (/.f64 (neg.f64 z) x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 (*.f64 y x) (neg.f64 z)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(neg.f64 (/.f64 (/.f64 y z) (/.f64 -1 x)))
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(+.f64 (*.f64 y x) 0)
(*.f64 y x)
(+.f64 0 (*.f64 y x))
(*.f64 y x)
(+.f64 -1 (-.f64 1 (neg.f64 (*.f64 y x))))
(*.f64 y x)
(-.f64 (*.f64 y x) 0)
(*.f64 y x)
(-.f64 0 (neg.f64 (*.f64 y x)))
(*.f64 y x)
(*.f64 y x)
(*.f64 1 (*.f64 y x))
(*.f64 y x)
(*.f64 x y)
(*.f64 y x)
(*.f64 x (/.f64 x (/.f64 x y)))
(*.f64 y x)
(*.f64 (*.f64 y x) 1)
(*.f64 y x)
(*.f64 (*.f64 y (+.f64 x x)) 1/2)
(*.f64 y x)
(*.f64 2 (/.f64 y (/.f64 2 x)))
(*.f64 y x)
(*.f64 2 (/.f64 (*.f64 y x) 2))
(*.f64 y x)
(*.f64 2 (/.f64 x (/.f64 2 y)))
(*.f64 y x)
(*.f64 (+.f64 x x) (*.f64 y 1/2))
(*.f64 y x)
(*.f64 (+.f64 x x) (/.f64 2 (/.f64 4 y)))
(*.f64 y x)
(*.f64 (+.f64 y y) (/.f64 x 2))
(*.f64 (+.f64 y y) (*.f64 x 1/2))
(*.f64 y x)
(*.f64 (*.f64 x x) (/.f64 1 (/.f64 x y)))
(*.f64 y x)
(*.f64 (*.f64 y (*.f64 x 4)) 1/4)
(*.f64 y x)
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 2 (/.f64 2 y))))
(*.f64 x (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 x (*.f64 4 (/.f64 y 4)))
(*.f64 (/.f64 y 4) (*.f64 x 4))
(*.f64 (*.f64 x 4) (/.f64 1 (/.f64 4 y)))
(*.f64 x (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 x (*.f64 4 (/.f64 y 4)))
(*.f64 (/.f64 y 4) (*.f64 x 4))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 (/.f64 1 x) 4)))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 4 (/.f64 1 x))))
(*.f64 (*.f64 y 4) (/.f64 x 4))
(*.f64 y (*.f64 4 (/.f64 x 4)))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 y x)
(*.f64 (neg.f64 y) (/.f64 1 (/.f64 -1 x)))
(*.f64 y x)
(*.f64 (neg.f64 (*.f64 y x)) -1)
(*.f64 y x)
(*.f64 -1 (neg.f64 (*.f64 y x)))
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 1/2 (*.f64 y (+.f64 x x)))
(*.f64 y x)
(*.f64 (/.f64 x 2) (+.f64 y y))
(*.f64 (+.f64 y y) (/.f64 x 2))
(*.f64 (*.f64 y 1/2) (+.f64 x x))
(*.f64 y x)
(*.f64 (*.f64 x 1/2) (+.f64 y y))
(*.f64 y x)
(*.f64 (/.f64 y (/.f64 2 x)) 2)
(*.f64 y x)
(*.f64 1/4 (*.f64 y (*.f64 x 4)))
(*.f64 y x)
(*.f64 (/.f64 1 (/.f64 -1 x)) (neg.f64 y))
(*.f64 y x)
(*.f64 (/.f64 (*.f64 y x) 2) 2)
(*.f64 y x)
(*.f64 (/.f64 x (/.f64 2 y)) 2)
(*.f64 y x)
(*.f64 (/.f64 1 (/.f64 x y)) (*.f64 x x))
(*.f64 y x)
(*.f64 (/.f64 x (/.f64 x y)) x)
(*.f64 y x)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 2 y))) (*.f64 x 4))
(*.f64 x (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 x (*.f64 4 (/.f64 y 4)))
(*.f64 (/.f64 y 4) (*.f64 x 4))
(*.f64 (/.f64 1 (/.f64 4 y)) (*.f64 x 4))
(*.f64 x (*.f64 4 (/.f64 1/2 (/.f64 2 y))))
(*.f64 x (*.f64 4 (/.f64 y 4)))
(*.f64 (/.f64 y 4) (*.f64 x 4))
(*.f64 (/.f64 2 (/.f64 4 y)) (+.f64 x x))
(*.f64 y x)
(*.f64 (/.f64 1 (*.f64 (/.f64 1 x) 4)) (*.f64 y 4))
(*.f64 (*.f64 y 4) (/.f64 1 (*.f64 4 (/.f64 1 x))))
(*.f64 (*.f64 y 4) (/.f64 x 4))
(*.f64 y (*.f64 4 (/.f64 x 4)))
(pow.f64 (*.f64 y x) 1)
(*.f64 y x)
(neg.f64 (neg.f64 (*.f64 y x)))
(*.f64 y x)

eval37.0ms (0.9%)

Compiler

Compiled 2072 to 1013 computations (51.1% saved)

prune87.0ms (2%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New2350235
Fresh000
Picked011
Done055
Total2356241
Error
0b
Counts
241 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
4.4b
(/.f64 (/.f64 y (/.f64 1 x)) z)
4.3b
(/.f64 (*.f64 x y) z)
5.9b
(/.f64 y (/.f64 z x))
6.7b
(/.f64 x (/.f64 z y))
6.3b
(*.f64 y (/.f64 x z))
7.0b
(*.f64 x (/.f64 y z))
Compiler

Compiled 50 to 32 computations (36% saved)

regimes93.0ms (2.2%)

Counts
6 → 4
Calls
Call 1
Inputs
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(/.f64 x (/.f64 z y))
(/.f64 y (/.f64 z x))
(/.f64 (*.f64 x y) z)
(/.f64 (/.f64 y (/.f64 1 x)) z)
Outputs
(/.f64 (*.f64 x y) z)
(/.f64 x (/.f64 z y))
(/.f64 (*.f64 x y) z)
(*.f64 x (/.f64 y z))
Calls

5 calls:

46.0ms
(/.f64 (*.f64 x y) z)
18.0ms
(*.f64 x y)
14.0ms
x
9.0ms
y
5.0ms
z
Results
ErrorSegmentsBranch
2.9b3x
3.1b2y
4.3b1z
1.4b4(/.f64 (*.f64 x y) z)
1.2b4(*.f64 x y)
Compiler

Compiled 61 to 35 computations (42.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.2089501728115032e+123
3.782212554234298e+127
0.0ms
-0.0
1.2486387019063413e-307
0.0ms
-1.7132869930100533e-190
-1.2675541350608573e-191
Compiler

Compiled 14 to 10 computations (28.6% saved)

regimes28.0ms (0.7%)

Accuracy

Total -9.9b remaining (-250.6%)

Threshold costs -9.9b (-250.6%)

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

3 calls:

15.0ms
x
7.0ms
y
5.0ms
z
Results
ErrorSegmentsBranch
4.1b2x
4.0b2y
5.9b1z
Compiler

Compiled 35 to 20 computations (42.9% saved)

bsearch15.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
3.4628198428782855e-159
8.359223582528268e-153
Results
13.0ms144×body256valid
Compiler

Compiled 176 to 118 computations (33% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028145
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 x y) -4013165208090495/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408) (/.f64 (*.f64 x y) z) (if (<=.f64 (*.f64 x y) 0) (/.f64 x (/.f64 z y)) (if (<=.f64 (*.f64 x y) 3999999999999999910839878925616518680231937190379686309568333290649965163559359544311466235366030526739030088283805402005504) (/.f64 (*.f64 x y) z) (*.f64 x (/.f64 y z)))))
(if (<=.f64 y 4057009606683157/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
Outputs
(if (<=.f64 (*.f64 x y) -4013165208090495/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408) (/.f64 (*.f64 x y) z) (if (<=.f64 (*.f64 x y) 0) (/.f64 x (/.f64 z y)) (if (<=.f64 (*.f64 x y) 3999999999999999910839878925616518680231937190379686309568333290649965163559359544311466235366030526739030088283805402005504) (/.f64 (*.f64 x y) z) (*.f64 x (/.f64 y z)))))
(if (<=.f64 y 4057009606683157/943490606205385338060388645247067222729230305104110107094051575061406040598037213021531681294414691885367093757690961224942646157481198158140358562858174010912348831744) (*.f64 x (/.f64 y z)) (*.f64 y (/.f64 x z)))
(*.f64 x (/.f64 y z))
Compiler

Compiled 66 to 33 computations (50% saved)

soundness901.0ms (20.9%)

Algorithm
egg-herbie
Rules
5758×rational.json-simplify-51
5758×rational.json-simplify-51
3396×rational.json-simplify-1
3396×rational.json-simplify-1
3246×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11313
22413
34113
47413
514413
633513
785313
8129913
9147713
10151213
11154513
12157213
13159913
14162613
15165313
16168013
17170713
18173413
19176113
20178813
21181513
22184213
23186913
24718613
25740113
26743613
27747113
28750613
29754113
30757613
31761113
32764613
33768113
34771613
35775113
36778613
37782113
38785613
39789113
0713
11313
22413
34113
47413
514413
633513
785313
8129913
9147713
10151213
11154513
12157213
13159913
14162613
15165313
16168013
17170713
18173413
19176113
20178813
21181513
22184213
23186913
24718613
25740113
26743613
27747113
28750613
29754113
30757613
31761113
32764613
33768113
34771613
35775113
36778613
37782113
38785613
39789113
Stop Event
node limit
node limit
Compiler

Compiled 36 to 18 computations (50% saved)

end97.0ms (2.3%)

Compiler

Compiled 142 to 59 computations (58.5% saved)

Profiling

Loading profile data...