Development.Shake.Progress:decay from shake-0.15.5

Time bar (total: 5.4s)

analyze590.0ms (10.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
0%0%99.7%0.3%0%0%0%4
0%0%99.7%0.3%0%0%0%5
0%0%99.7%0.3%0%0%0%6
12.5%12.5%87.2%0.3%0%0%0%7
12.5%12.5%87.2%0.3%0%0%0%8
18.8%18.7%81%0.3%0%0%0%9
21.9%21.8%77.9%0.3%0%0%0%10
21.9%21.8%77.9%0.3%0%0%0%11
21.9%21.8%77.9%0.3%0%0%0%12
Compiler

Compiled 48 to 30 computations (37.5% saved)

sample4.6s (85.6%)

Results
1.2s8252×0valid-sollya
821.0ms8252×0valid-rival
771.0ms8252×0valid-baseline
0.0ms0valid-rival+baseline
0.0ms0valid-baseline+rival
0.0ms0valid-sollya+rival
0.0ms0valid-rival+sollya
Bogosity

preprocess147.0ms (2.7%)

Algorithm
egg-herbie
Rules
610×div-sub
475×unsub-neg
462×sub-neg
314×fma-define
303×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01512192
13282060
27002016
320882008
450622008
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z (-.f64 t a))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y)))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) (-.f64 t a))) (+.f64 y (*.f64 (neg.f64 z) (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 (neg.f64 t) a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t (neg.f64 a)))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y))))
(neg.f64 (/.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y)))))
(neg.f64 (/.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z (-.f64 t a))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y))))))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) (-.f64 t a))) (+.f64 y (*.f64 (neg.f64 z) (-.f64 b y)))))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 (neg.f64 t) a))) (+.f64 y (*.f64 z (-.f64 b y)))))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t (neg.f64 a)))) (+.f64 y (*.f64 z (-.f64 b y)))))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y)))))
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (-.f64 t a))) (+.f64 x (*.f64 z (-.f64 b x))))
(/.f64 (+.f64 (*.f64 z y) (*.f64 x (-.f64 t a))) (+.f64 y (*.f64 x (-.f64 b y))))
(/.f64 (+.f64 (*.f64 t y) (*.f64 z (-.f64 x a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 a y) (*.f64 z (-.f64 t x))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 b y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 x y))))
(/.f64 (+.f64 (*.f64 x z) (*.f64 y (-.f64 t a))) (+.f64 z (*.f64 y (-.f64 b z))))
(/.f64 (+.f64 (*.f64 x t) (*.f64 z (-.f64 y a))) (+.f64 t (*.f64 z (-.f64 b t))))
(/.f64 (+.f64 (*.f64 x a) (*.f64 z (-.f64 t y))) (+.f64 a (*.f64 z (-.f64 b a))))
(/.f64 (+.f64 (*.f64 x b) (*.f64 z (-.f64 t a))) (+.f64 b (*.f64 z (-.f64 y b))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 t (-.f64 z a))) (+.f64 y (*.f64 t (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 a (-.f64 t z))) (+.f64 y (*.f64 a (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 b (-.f64 t a))) (+.f64 y (*.f64 b (-.f64 z y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 a t))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 b a))) (+.f64 y (*.f64 z (-.f64 t y))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t b))) (+.f64 y (*.f64 z (-.f64 a y))))
Outputs
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x (neg.f64 y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (-.f64 (*.f64 z (-.f64 t a)) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x (neg.f64 y))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z (-.f64 t a))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y)))))
(/.f64 (fma.f64 x (neg.f64 y) (*.f64 z (-.f64 t a))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y)))))
(/.f64 (-.f64 (*.f64 z (-.f64 t a)) (*.f64 x y)) (-.f64 (*.f64 z (+.f64 y b)) y))
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x (neg.f64 y))) (fma.f64 z (+.f64 y b) (neg.f64 y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (-.f64 y (*.f64 z (+.f64 y b))))
(/.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) (-.f64 t a))) (+.f64 y (*.f64 (neg.f64 z) (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 (-.f64 t a) (neg.f64 z))) (+.f64 y (*.f64 (-.f64 b y) (neg.f64 z))))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (-.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (fma.f64 z (-.f64 y b) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 (neg.f64 t) a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 (neg.f64 t) a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 (neg.f64 t) a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t (neg.f64 a)))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t (neg.f64 a)))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 z (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (fma.f64 z (+.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 (neg.f64 b) y) y))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (-.f64 y (*.f64 z (+.f64 y b))))
(neg.f64 (/.f64 (+.f64 (*.f64 (neg.f64 x) y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 x (neg.f64 y) (*.f64 z (-.f64 t a))) (neg.f64 (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (-.f64 (*.f64 z (-.f64 t a)) (*.f64 x y)) (neg.f64 (fma.f64 z (-.f64 b y) y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (fma.f64 z (-.f64 b y) y))
(neg.f64 (/.f64 (+.f64 (*.f64 x (neg.f64 y)) (*.f64 z (-.f64 t a))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y))))))
(/.f64 (neg.f64 (fma.f64 x (neg.f64 y) (*.f64 z (-.f64 t a)))) (+.f64 (neg.f64 y) (*.f64 z (-.f64 b (neg.f64 y)))))
(neg.f64 (/.f64 (-.f64 (*.f64 z (-.f64 t a)) (*.f64 x y)) (-.f64 (*.f64 z (+.f64 y b)) y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (fma.f64 z (+.f64 y b) (neg.f64 y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (-.f64 (*.f64 z (+.f64 y b)) y))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 (neg.f64 z) (-.f64 t a))) (+.f64 y (*.f64 (neg.f64 z) (-.f64 b y)))))
(/.f64 (fma.f64 x y (*.f64 (-.f64 t a) (neg.f64 z))) (neg.f64 (+.f64 y (*.f64 (-.f64 b y) (neg.f64 z)))))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (neg.f64 (-.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x (neg.f64 y))) (fma.f64 z (-.f64 y b) y))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 (neg.f64 t) a))) (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 (neg.f64 t) a))) (neg.f64 (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 (neg.f64 t) a))) (neg.f64 (fma.f64 z (-.f64 b y) y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 (neg.f64 t) a))) (fma.f64 z (-.f64 y b) (neg.f64 y)))
(/.f64 (-.f64 (*.f64 z (+.f64 t a)) (*.f64 x y)) (fma.f64 z (-.f64 b y) y))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t (neg.f64 a)))) (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t (neg.f64 a)))) (neg.f64 (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (fma.f64 x y (*.f64 z (+.f64 t a))) (neg.f64 (fma.f64 z (-.f64 b y) y)))
(/.f64 (fma.f64 z (+.f64 t a) (*.f64 x y)) (fma.f64 z (-.f64 y b) (neg.f64 y)))
(/.f64 (fma.f64 x y (*.f64 z (+.f64 t a))) (fma.f64 z (-.f64 y b) (neg.f64 y)))
(neg.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y)))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (neg.f64 (+.f64 y (*.f64 z (-.f64 (neg.f64 b) y)))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (neg.f64 (fma.f64 z (-.f64 (neg.f64 b) y) y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (+.f64 y b) (neg.f64 y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (-.f64 (*.f64 z (+.f64 y b)) y))
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (-.f64 t a))) (+.f64 x (*.f64 z (-.f64 b x))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (+.f64 x (*.f64 z (-.f64 b x))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b x) x))
(/.f64 (+.f64 (*.f64 z y) (*.f64 x (-.f64 t a))) (+.f64 y (*.f64 x (-.f64 b y))))
(/.f64 (fma.f64 z y (*.f64 x (-.f64 t a))) (+.f64 y (*.f64 x (-.f64 b y))))
(/.f64 (fma.f64 x (-.f64 t a) (*.f64 y z)) (fma.f64 x (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 t y) (*.f64 z (-.f64 x a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 t y (*.f64 z (-.f64 x a))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 y t (*.f64 z (-.f64 x a))) (fma.f64 z (-.f64 b y) y))
(/.f64 (fma.f64 z (-.f64 x a) (*.f64 y t)) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 a y) (*.f64 z (-.f64 t x))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 a y (*.f64 z (-.f64 t x))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 y a (*.f64 z (-.f64 t x))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 b y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 x y))))
(/.f64 (fma.f64 b y (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 x y))))
(/.f64 (fma.f64 y b (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 x y) y))
(/.f64 (+.f64 (*.f64 x z) (*.f64 y (-.f64 t a))) (+.f64 z (*.f64 y (-.f64 b z))))
(/.f64 (fma.f64 x z (*.f64 y (-.f64 t a))) (+.f64 z (*.f64 y (-.f64 b z))))
(/.f64 (fma.f64 x z (*.f64 y (-.f64 t a))) (fma.f64 y (-.f64 b z) z))
(/.f64 (fma.f64 y (-.f64 t a) (*.f64 x z)) (fma.f64 y (-.f64 b z) z))
(/.f64 (+.f64 (*.f64 x t) (*.f64 z (-.f64 y a))) (+.f64 t (*.f64 z (-.f64 b t))))
(/.f64 (fma.f64 x t (*.f64 z (-.f64 y a))) (+.f64 t (*.f64 z (-.f64 b t))))
(/.f64 (fma.f64 x t (*.f64 z (-.f64 y a))) (fma.f64 z (-.f64 b t) t))
(/.f64 (fma.f64 z (-.f64 y a) (*.f64 x t)) (fma.f64 z (-.f64 b t) t))
(/.f64 (+.f64 (*.f64 x a) (*.f64 z (-.f64 t y))) (+.f64 a (*.f64 z (-.f64 b a))))
(/.f64 (fma.f64 x a (*.f64 z (-.f64 t y))) (+.f64 a (*.f64 z (-.f64 b a))))
(/.f64 (fma.f64 x a (*.f64 z (-.f64 t y))) (fma.f64 z (-.f64 b a) a))
(/.f64 (+.f64 (*.f64 x b) (*.f64 z (-.f64 t a))) (+.f64 b (*.f64 z (-.f64 y b))))
(/.f64 (fma.f64 x b (*.f64 z (-.f64 t a))) (+.f64 b (*.f64 z (-.f64 y b))))
(/.f64 (fma.f64 z (-.f64 t a) (*.f64 x b)) (fma.f64 z (-.f64 y b) b))
(/.f64 (+.f64 (*.f64 x y) (*.f64 t (-.f64 z a))) (+.f64 y (*.f64 t (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 t (-.f64 z a))) (+.f64 y (*.f64 t (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 t (-.f64 z a))) (fma.f64 t (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 a (-.f64 t z))) (+.f64 y (*.f64 a (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 a (-.f64 t z))) (+.f64 y (*.f64 a (-.f64 b y))))
(/.f64 (fma.f64 x y (*.f64 a (-.f64 t z))) (fma.f64 a (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 b (-.f64 t a))) (+.f64 y (*.f64 b (-.f64 z y))))
(/.f64 (fma.f64 x y (*.f64 (-.f64 t a) b)) (+.f64 y (*.f64 b (-.f64 z y))))
(/.f64 (fma.f64 x y (*.f64 (-.f64 t a) b)) (fma.f64 b (-.f64 z y) y))
(/.f64 (fma.f64 (-.f64 t a) b (*.f64 x y)) (fma.f64 b (-.f64 z y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 a t))) (+.f64 y (*.f64 z (-.f64 b y))))
(/.f64 (fma.f64 x (neg.f64 y) (*.f64 z (-.f64 t a))) (neg.f64 (+.f64 y (*.f64 z (-.f64 b y)))))
(/.f64 (-.f64 (*.f64 z (-.f64 t a)) (*.f64 x y)) (neg.f64 (fma.f64 z (-.f64 b y) y)))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 a t))) (fma.f64 z (-.f64 b y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 b a))) (+.f64 y (*.f64 z (-.f64 t y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 b a))) (+.f64 y (*.f64 z (-.f64 t y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 b a))) (fma.f64 z (-.f64 t y) y))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t b))) (+.f64 y (*.f64 z (-.f64 a y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t b))) (+.f64 y (*.f64 z (-.f64 a y))))
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t b))) (fma.f64 z (-.f64 a y) y))
Compiler

Compiled 23 to 14 computations (39.1% saved)

eval0.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

prune1.0ms (0%)

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

Compiled 46 to 28 computations (39.1% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02376
13376
24176
34576
44776
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))
Outputs
(/.f64 (+.f64 (*.f64 x y) (*.f64 z (-.f64 t a))) (+.f64 y (*.f64 z (-.f64 b y))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 23 to 14 computations (39.1% saved)

preprocess36.0ms (0.7%)

Compiler

Compiled 154 to 90 computations (41.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...