simple fma test

Time bar (total: 1.7s)

analyze0.0ms (0%)

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

Compiled 16 to 10 computations (37.5% saved)

sample1.5s (86.6%)

Results
587.0ms2757×body1024valid
385.0ms2968×body256valid
303.0ms1216×body2048valid
200.0ms1313×body512valid
1.0msbody4096valid
Bogosity

preprocess229.0ms (13.3%)

Algorithm
egg-herbie
Rules
633×fma-neg
518×associate--r+
486×+-commutative
419×associate-+r+
402×fma-def
Problems
219×(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
37×No Errors
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052553
1154541
239111
3167311
4503611
5643011
6718211
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 (neg.f64 x) y z) (+.f64 1 (+.f64 (*.f64 (neg.f64 x) y) z)))
(-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (+.f64 (*.f64 x (neg.f64 y)) z)))
(-.f64 (fma.f64 x y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 x y) (neg.f64 z))))
(neg.f64 (-.f64 (fma.f64 (neg.f64 x) y z) (+.f64 1 (+.f64 (*.f64 (neg.f64 x) y) z))))
(neg.f64 (-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (+.f64 (*.f64 x (neg.f64 y)) z))))
(neg.f64 (-.f64 (fma.f64 x y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 x y) (neg.f64 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 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 (neg.f64 x) y z) (+.f64 1 (+.f64 (*.f64 (neg.f64 x) y) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (+.f64 (*.f64 x (neg.f64 y)) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 x y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 x y) (neg.f64 z))))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(neg.f64 (-.f64 (fma.f64 (neg.f64 x) y z) (+.f64 1 (+.f64 (*.f64 (neg.f64 x) y) z))))
(neg.f64 (-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (fma.f64 x (neg.f64 y) z))))
(+.f64 (-.f64 (*.f64 x y) z) (+.f64 z (-.f64 1 (*.f64 x y))))
1
(neg.f64 (-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (+.f64 (*.f64 x (neg.f64 y)) z))))
(neg.f64 (-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (fma.f64 x (neg.f64 y) z))))
(+.f64 (-.f64 (*.f64 x y) z) (+.f64 z (-.f64 1 (*.f64 x y))))
1
(neg.f64 (-.f64 (fma.f64 x y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 x y) (neg.f64 z)))))
(neg.f64 (-.f64 (fma.f64 x (neg.f64 y) z) (+.f64 1 (fma.f64 x (neg.f64 y) z))))
(+.f64 (-.f64 (*.f64 x y) z) (+.f64 z (-.f64 1 (*.f64 x y))))
1
(-.f64 (fma.f64 y x z) (+.f64 1 (+.f64 (*.f64 y x) z)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 z y x) (+.f64 1 (+.f64 (*.f64 z y) x)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
(-.f64 (fma.f64 x z y) (+.f64 1 (+.f64 (*.f64 x z) y)))
(-.f64 (fma.f64 x y z) (+.f64 1 (fma.f64 x y z)))
-1
Symmetry

(abs x)

(abs y)

(abs z)

(sort x y z)

Compiler

Compiled 39 to 13 computations (66.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...