Details

Time bar (total: 4.3s)

analyze219.0ms (5.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
25%25%74.9%0.1%0%0%0%9
37.5%37.4%62.4%0.1%0%0%0%10
44.5%44.5%55.4%0.1%0%0%0%11
50.4%50.3%49.5%0.1%0%0%0%12
Compiler

Compiled 16 to 10 computations (37.5% saved)

sample3.4s (78.1%)

Results
1.8s2773×body1024valid
636.0ms2883×body256valid
545.0ms1287×body2048valid
353.0ms1313×body512valid
Bogosity

preprocess6.0ms (0.1%)

Algorithm
egg-herbie
Rules
72×rational.json-simplify-1
28×rational.json-simplify-48
20×rational.json-simplify-17
18×rational.json-simplify-41
rational.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027132
149132
287132
3114132
4122132
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 y x z) (+.f64 1 (+.f64 (*.f64 y x) z)))
(-.f64 (fma.f64 z y x) (+.f64 1 (+.f64 (*.f64 z y) x)))
(-.f64 (fma.f64 x z y) (+.f64 1 (+.f64 (*.f64 x z) y)))
Outputs
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 z (*.f64 x y))))
(-.f64 (fma.f64 x y z) (+.f64 z (+.f64 (*.f64 x y) 1)))
(-.f64 (fma.f64 x y z) (+.f64 z (+.f64 1 (*.f64 x y))))
(-.f64 (fma.f64 y x z) (+.f64 1 (+.f64 (*.f64 y x) z)))
(-.f64 (fma.f64 y x z) (+.f64 1 (+.f64 z (*.f64 x y))))
(-.f64 -1 (-.f64 (+.f64 z (*.f64 x y)) (fma.f64 y x z)))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 x y) (fma.f64 y x z))))
(-.f64 (fma.f64 z y x) (+.f64 1 (+.f64 (*.f64 z y) x)))
(-.f64 (fma.f64 z y x) (+.f64 1 (+.f64 x (*.f64 y z))))
(-.f64 (fma.f64 z y x) (+.f64 x (+.f64 1 (*.f64 y z))))
(-.f64 (fma.f64 x z y) (+.f64 1 (+.f64 (*.f64 x z) y)))
(-.f64 (fma.f64 x z y) (+.f64 1 (+.f64 y (*.f64 x z))))
(-.f64 (fma.f64 x z y) (+.f64 y (+.f64 1 (*.f64 x z))))
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×rational.json-simplify-1
rational.json-simplify-48
rational.json-simplify-17
rational.json-simplify-41
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
11933
23133
33833
44033
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
Outputs
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
(-.f64 (fma.f64 x y z) (+.f64 z (+.f64 (*.f64 x y) 1)))

eval1.0ms (0%)

Compiler

Compiled 39 to 17 computations (56.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 15 to 9 computations (40% saved)

localize13.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (+.f64 z 1))
11.3b
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
Compiler

Compiled 36 to 15 computations (58.3% saved)

series6.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
z
@0
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
1.0ms
x
@-inf
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
1.0ms
x
@inf
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
1.0ms
y
@-inf
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
1.0ms
y
@inf
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))

rewrite108.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1658×rational.json-1
1658×rational.json-2
1658×rational.json-3
1654×rational.json-4
1280×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01252
18952
219752
340852
488052
5220952
6477652
7701152
Stop Event
node limit
Counts
2 → 66
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 (*.f64 x y) (+.f64 z 1)))
(+.f64 (*.f64 x y) (+.f64 z 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (+.f64 z (*.f64 x y))) (fma.f64 x y z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)) (-.f64 1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (fma.f64 x y z) 4) (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (fma.f64 x y z) 4) (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 (*.f64 x y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (+.f64 (*.f64 x y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 (+.f64 z 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (/.f64 (+.f64 (*.f64 x y) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 (*.f64 x (+.f64 y y)) 2) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 z 1) 2) (*.f64 x (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x (+.f64 y y)) (*.f64 (+.f64 z 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)))))

simplify521.0ms (12.1%)

Algorithm
egg-herbie
Rules
2152×rational.json-simplify-35
1714×rational.json-simplify-2
1506×rational.json-simplify-1
754×rational.json-simplify-42
692×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01512514
13072514
27322514
322672514
435682514
542242514
649312514
757902514
864832514
967132514
1073182514
1174742514
1276362514
1378812514
1479202514
1579292514
1679302514
1779302514
Stop Event
node limit
Counts
138 → 82
Calls
Call 1
Inputs
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
(+.f64 1 z)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 z)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (*.f64 y x))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
z
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
z
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 x y))))
(+.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 0)
(+.f64 0 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))))
(+.f64 (-.f64 -1 (+.f64 z (*.f64 x y))) (fma.f64 x y z))
(+.f64 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))) -1)
(+.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))
(+.f64 -2 (+.f64 1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(+.f64 (-.f64 -1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)) (-.f64 1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)))
(*.f64 1 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))
(*.f64 -1 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))
(*.f64 4 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))
(*.f64 4 (-.f64 (/.f64 (fma.f64 x y z) 4) (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 1/2)
(*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2))
(*.f64 1/4 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))
(*.f64 1/4 (-.f64 (*.f64 (fma.f64 x y z) 4) (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) 2)
(*.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)
(*.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)
(/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 2)
(/.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8) 8)
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)) 16)
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) -8)
(/.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)))) 64)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4))) 8)
(pow.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(neg.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))
(-.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 0)
(-.f64 (+.f64 z (*.f64 x y)) -1)
(-.f64 (+.f64 z (+.f64 (*.f64 x y) 2)) 1)
(*.f64 1 (+.f64 z (+.f64 (*.f64 x y) 1)))
(*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 x (*.f64 y 1/2))))
(*.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 (+.f64 z 1) 1/2)))
(*.f64 2 (+.f64 (*.f64 z 1/2) (/.f64 (+.f64 (*.f64 x y) 1) 2)))
(*.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 1/2)
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))))
(*.f64 1/2 (+.f64 (+.f64 (*.f64 x (+.f64 y y)) 2) (+.f64 z z)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 z 1) 2) (*.f64 x (+.f64 y y))))
(*.f64 1/2 (+.f64 (*.f64 x (+.f64 y y)) (*.f64 (+.f64 z 1) 2)))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)
(/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
(/.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 2)
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)))) 64)
(pow.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
Outputs
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
(+.f64 1 z)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 z)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 y x)
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (*.f64 y x))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
z
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
z
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 1 (+.f64 z (*.f64 y x)))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 x y))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 0)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 0 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 (-.f64 -1 (+.f64 z (*.f64 x y))) (fma.f64 x y z))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y))) -1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 -2 (+.f64 1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(+.f64 (-.f64 -1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)) (-.f64 1 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2)))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 1 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 -1 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 4 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 4 (-.f64 (/.f64 (fma.f64 x y z) 4) (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))
(*.f64 4 (-.f64 (/.f64 (fma.f64 x y z) 4) (/.f64 (+.f64 1 (+.f64 z (*.f64 y x))) 4)))
(*.f64 4 (-.f64 (/.f64 (fma.f64 x y z) 4) (*.f64 (+.f64 1 (+.f64 z (*.f64 y x))) 1/4)))
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 1/2)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 1/4)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 1/2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 1/4 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 1/4 (-.f64 (*.f64 (fma.f64 x y z) 4) (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4)))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1/2) 2)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(*.f64 (/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 2) 2)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) -1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 4) 4)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8) 8)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) -2) -2)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)) 16)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4) -4)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) 32)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) -8)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) 4)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 8)))) 64)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4)) (neg.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))) 4))) 8)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(pow.f64 (+.f64 -1 (-.f64 (fma.f64 x y z) (+.f64 z (*.f64 x y)))) 1)
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(neg.f64 (+.f64 z (+.f64 (*.f64 x y) (-.f64 1 (fma.f64 x y z)))))
(+.f64 (fma.f64 x y z) (-.f64 -1 (+.f64 z (*.f64 y x))))
(-.f64 -1 (+.f64 z (-.f64 (*.f64 y x) (fma.f64 x y z))))
(-.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 0)
(+.f64 1 (+.f64 z (*.f64 y x)))
(-.f64 (+.f64 z (*.f64 x y)) -1)
(+.f64 1 (+.f64 z (*.f64 y x)))
(-.f64 (+.f64 z (+.f64 (*.f64 x y) 2)) 1)
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 1 (+.f64 z (+.f64 (*.f64 x y) 1)))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 2 (+.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 x (*.f64 y 1/2))))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 (+.f64 z 1) 1/2)))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 2 (+.f64 (*.f64 z 1/2) (/.f64 (+.f64 (*.f64 x y) 1) 2)))
(*.f64 2 (+.f64 (*.f64 z 1/2) (/.f64 (+.f64 1 (*.f64 y x)) 2)))
(*.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 1/2)
(*.f64 1/2 (+.f64 2 (*.f64 (+.f64 z (*.f64 y x)) 2)))
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 1/4)
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))))
(*.f64 1/2 (+.f64 2 (*.f64 (+.f64 z (*.f64 y x)) 2)))
(*.f64 1/2 (+.f64 (+.f64 (*.f64 x (+.f64 y y)) 2) (+.f64 z z)))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 z 1) 2) (*.f64 x (+.f64 y y))))
(*.f64 1/2 (+.f64 (*.f64 x (+.f64 y y)) (*.f64 2 (+.f64 1 z))))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 2 (+.f64 1 z))))
(*.f64 1/2 (+.f64 (*.f64 x (+.f64 y y)) (*.f64 (+.f64 z 1) 2)))
(*.f64 1/2 (+.f64 (*.f64 x (+.f64 y y)) (*.f64 2 (+.f64 1 z))))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 2 (+.f64 1 z))))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1/2) 2)
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4))
(+.f64 1 (+.f64 z (*.f64 y x)))
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (+.f64 2 (*.f64 2 (+.f64 z (*.f64 x y)))) 2)
(/.f64 (+.f64 2 (*.f64 (+.f64 z (*.f64 y x)) 2)) 2)
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 4) 4)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8) 8)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)) 16)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) 32)
(+.f64 1 (+.f64 z (*.f64 y x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 8)))) 64)
(+.f64 1 (+.f64 z (*.f64 y x)))
(pow.f64 (+.f64 z (+.f64 (*.f64 x y) 1)) 1)
(+.f64 1 (+.f64 z (*.f64 y x)))

eval16.0ms (0.4%)

Compiler

Compiled 1326 to 579 computations (56.3% saved)

prune11.0ms (0.3%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New81182
Fresh000
Picked101
Done000
Total82183
Error
0b
Counts
83 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
-1
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0b
Counts
1 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
-1
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0b
Counts
1 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
-1
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0b
Counts
1 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0b
-1
Compiler

Compiled 4 to 4 computations (0% saved)

regimes12.0ms (0.3%)

Accuracy

Total -44.6b remaining (-∞%)

Threshold costs -44.6b (-∞%)

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

4 calls:

3.0ms
x
3.0ms
z
3.0ms
y
2.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
Results
ErrorSegmentsBranch
0b1x
0b1y
0b1z
0b1(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
Compiler

Compiled 55 to 32 computations (41.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
Stop Event
fuel
saturated
Calls
Call 1
Inputs
-1
Outputs
-1
Compiler

Compiled 4 to 4 computations (0% saved)

soundness9.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×rational.json-simplify-1
rational.json-simplify-48
rational.json-simplify-17
rational.json-simplify-41
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
11933
23133
33833
44033
Stop Event
saturated
Compiler

Compiled 27 to 13 computations (51.9% saved)

end11.0ms (0.3%)

Compiler

Compiled 4 to 4 computations (0% saved)

Profiling

Loading profile data...