Linear.V3:$cdot from linear-1.19.1.3, B

Time bar (total: 6.3s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
100%99.7%0%0.3%0%0%0%1
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample5.7s (90.5%)

Results
1.2s8256×0valid-rival
1.2s8253×0valid-sollya
15.0ms0exit-sollya
Bogosity

preprocess535.0ms (8.4%)

Algorithm
egg-herbie
Rules
1896×fma-neg
689×fma-define
222×sub-neg
199×unsub-neg
178×associate--r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0991377
12541253
25301237
312321237
426041237
540141237
645691237
746171237
846191237
946191237
1046191237
1146191237
1257081237
1357081237
1457081237
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z (neg.f64 t))) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (neg.f64 a) b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a (neg.f64 b)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z t)) (*.f64 a b)))
(neg.f64 (+.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z t)) (*.f64 a b)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) (*.f64 a b)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z (neg.f64 t))) (*.f64 a b)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (neg.f64 a) b)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a (neg.f64 b))))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
(+.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x (neg.f64 y) (*.f64 z t)))
(fma.f64 x (neg.f64 y) (fma.f64 z t (*.f64 a b)))
(-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))
(-.f64 (fma.f64 a b (*.f64 z t)) (*.f64 x y))
(+.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x (neg.f64 y) (*.f64 z t)))
(fma.f64 x (neg.f64 y) (fma.f64 z t (*.f64 a b)))
(-.f64 (fma.f64 z t (*.f64 a b)) (*.f64 x y))
(-.f64 (fma.f64 a b (*.f64 z t)) (*.f64 x y))
(+.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x y (*.f64 z (neg.f64 t))))
(fma.f64 x y (fma.f64 z (neg.f64 t) (*.f64 a b)))
(-.f64 (fma.f64 x y (*.f64 a b)) (*.f64 z t))
(-.f64 (fma.f64 a b (*.f64 x y)) (*.f64 z t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z (neg.f64 t))) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x y (*.f64 z (neg.f64 t))))
(fma.f64 x y (fma.f64 z (neg.f64 t) (*.f64 a b)))
(-.f64 (fma.f64 x y (*.f64 a b)) (*.f64 z t))
(-.f64 (fma.f64 a b (*.f64 x y)) (*.f64 z t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (neg.f64 a) b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a (neg.f64 b)))
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (-.f64 (*.f64 z t) (*.f64 a b)))
(fma.f64 x y (fma.f64 z t (*.f64 a (neg.f64 b))))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a (neg.f64 b)))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a (neg.f64 b)))
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (-.f64 (*.f64 z t) (*.f64 a b)))
(fma.f64 x y (fma.f64 z t (*.f64 a (neg.f64 b))))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z t)) (*.f64 a b)))
(neg.f64 (+.f64 (*.f64 a b) (fma.f64 x (neg.f64 y) (*.f64 z t))))
(neg.f64 (fma.f64 x (neg.f64 y) (fma.f64 z t (*.f64 a b))))
(-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))
(-.f64 (*.f64 x y) (fma.f64 a b (*.f64 z t)))
(neg.f64 (+.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z t)) (*.f64 a b)))
(neg.f64 (+.f64 (*.f64 a b) (fma.f64 x (neg.f64 y) (*.f64 z t))))
(neg.f64 (fma.f64 x (neg.f64 y) (fma.f64 z t (*.f64 a b))))
(-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b)))
(-.f64 (*.f64 x y) (fma.f64 a b (*.f64 z t)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) t)) (*.f64 a b)))
(neg.f64 (+.f64 (*.f64 a b) (fma.f64 x y (*.f64 z (neg.f64 t)))))
(neg.f64 (fma.f64 x y (fma.f64 z (neg.f64 t) (*.f64 a b))))
(-.f64 (*.f64 z t) (fma.f64 x y (*.f64 a b)))
(-.f64 (*.f64 z t) (fma.f64 a b (*.f64 x y)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z (neg.f64 t))) (*.f64 a b)))
(neg.f64 (+.f64 (*.f64 a b) (fma.f64 x y (*.f64 z (neg.f64 t)))))
(neg.f64 (fma.f64 x y (fma.f64 z (neg.f64 t) (*.f64 a b))))
(-.f64 (*.f64 z t) (fma.f64 x y (*.f64 a b)))
(-.f64 (*.f64 z t) (fma.f64 a b (*.f64 x y)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (neg.f64 a) b)))
(neg.f64 (+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a (neg.f64 b))))
(-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))
(neg.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a (neg.f64 b))))
(neg.f64 (+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a (neg.f64 b))))
(-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))
(fma.f64 y z (fma.f64 x t (*.f64 a b)))
(fma.f64 x t (fma.f64 a b (*.f64 y z)))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x z (*.f64 y t)))
(fma.f64 x z (fma.f64 y t (*.f64 a b)))
(fma.f64 a b (fma.f64 y t (*.f64 x z)))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))
(fma.f64 x b (fma.f64 y a (*.f64 z t)))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (*.f64 y b) (fma.f64 x a (*.f64 z t)))
(fma.f64 x a (fma.f64 y b (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x z (*.f64 y t)))
(fma.f64 x z (fma.f64 y t (*.f64 a b)))
(fma.f64 a b (fma.f64 y t (*.f64 x z)))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))
(fma.f64 y z (fma.f64 x t (*.f64 a b)))
(fma.f64 x t (fma.f64 a b (*.f64 y z)))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (*.f64 y b) (fma.f64 x a (*.f64 z t)))
(fma.f64 x a (fma.f64 y b (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))
(fma.f64 x b (fma.f64 y a (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))
(fma.f64 x y (fma.f64 t a (*.f64 z b)))
(fma.f64 x y (fma.f64 z b (*.f64 t a)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))
(fma.f64 z a (fma.f64 x y (*.f64 t b)))
(fma.f64 x y (fma.f64 z a (*.f64 t b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))
(fma.f64 z a (fma.f64 x y (*.f64 t b)))
(fma.f64 x y (fma.f64 z a (*.f64 t b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))
(fma.f64 x y (fma.f64 t a (*.f64 z b)))
(fma.f64 x y (fma.f64 z b (*.f64 t a)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 34 to 22 computations (35.3% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02049
12549
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 17 to 11 computations (35.3% saved)

preprocess64.0ms (1%)

Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 272 to 176 computations (35.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...