Linear.Quaternion:$c/ from linear-1.19.1.3, D

Time bar (total: 20.4s)

analyze1.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 19 to 10 computations (47.4% saved)

sample20.0s (98.1%)

Results
1.5s5772×0valid-rival
665.0ms5673×0valid-sollya
1.3s2244×1valid-rival
341.0ms2206×1valid-sollya
207.0ms240×2valid-rival
45.0ms229×2valid-sollya
495.0ms99×0exit-sollya
190.0ms38×1exit-sollya
55.0ms11×2exit-sollya
Bogosity

preprocess269.0ms (1.3%)

Algorithm
egg-herbie
Rules
574×sub-neg
557×unsub-neg
325×distribute-lft-out--
304×distribute-lft-neg-in
282×fma-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
048662
1183367
2641264
32518250
45638250
57348250
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(-.f64 (+.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z))
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y (neg.f64 z)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z)))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y (neg.f64 z))))
(-.f64 (+.f64 (-.f64 (*.f64 y x) (*.f64 x x)) (*.f64 x x)) (*.f64 x z))
(-.f64 (+.f64 (-.f64 (*.f64 z y) (*.f64 y y)) (*.f64 y y)) (*.f64 y x))
(-.f64 (+.f64 (-.f64 (*.f64 x z) (*.f64 z z)) (*.f64 z z)) (*.f64 z y))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 y (-.f64 x y)) (-.f64 (*.f64 y y) (*.f64 y z)))
(-.f64 (*.f64 x y) (*.f64 y z))
(*.f64 y (-.f64 x z))
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 y (-.f64 x y)) (-.f64 (*.f64 y y) (*.f64 y z)))
(-.f64 (*.f64 x y) (*.f64 y z))
(*.f64 y (-.f64 x z))
(-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 y (-.f64 (neg.f64 x) y)) (-.f64 (*.f64 y y) (*.f64 y z)))
(-.f64 (neg.f64 (*.f64 x y)) (*.f64 y z))
(*.f64 (neg.f64 y) (+.f64 x z))
(*.f64 y (-.f64 (neg.f64 z) x))
(-.f64 (+.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z))
(+.f64 (+.f64 (*.f64 y y) (*.f64 y (-.f64 (neg.f64 x) y))) (*.f64 y z))
(+.f64 (fma.f64 x (neg.f64 y) #s(literal 0 binary64)) (*.f64 y z))
(*.f64 (neg.f64 y) (-.f64 x z))
(*.f64 y (-.f64 z x))
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 y (-.f64 x y)) (-.f64 (*.f64 y y) (*.f64 y (neg.f64 z))))
(+.f64 (fma.f64 x y #s(literal 0 binary64)) (*.f64 y z))
(*.f64 y (+.f64 z x))
(*.f64 y (+.f64 x z))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z)))
(+.f64 (*.f64 y (-.f64 x y)) (-.f64 (*.f64 y y) (*.f64 y (neg.f64 z))))
(+.f64 (fma.f64 x y #s(literal 0 binary64)) (*.f64 y z))
(*.f64 y (+.f64 z x))
(*.f64 y (+.f64 x z))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) z)))
(+.f64 (*.f64 y (-.f64 x y)) (-.f64 (*.f64 y y) (*.f64 y z)))
(-.f64 (*.f64 x y) (*.f64 y z))
(*.f64 y (-.f64 x z))
(neg.f64 (-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 y (-.f64 (neg.f64 x) y)) (-.f64 (*.f64 y y) (*.f64 y z)))
(-.f64 (neg.f64 (*.f64 x y)) (*.f64 y z))
(*.f64 (neg.f64 y) (+.f64 x z))
(*.f64 y (-.f64 (neg.f64 z) x))
(-.f64 (+.f64 (-.f64 (*.f64 y x) (*.f64 x x)) (*.f64 x x)) (*.f64 x z))
(+.f64 (*.f64 x (-.f64 y x)) (-.f64 (*.f64 x x) (*.f64 x z)))
(-.f64 (fma.f64 x y #s(literal 0 binary64)) (*.f64 x z))
(*.f64 x (-.f64 (-.f64 y #s(literal 0 binary64)) z))
(*.f64 x (-.f64 y z))
(-.f64 (+.f64 (-.f64 (*.f64 z y) (*.f64 y y)) (*.f64 y y)) (*.f64 y x))
(+.f64 (+.f64 (*.f64 y y) (*.f64 y (-.f64 (neg.f64 x) y))) (*.f64 y z))
(+.f64 (fma.f64 x (neg.f64 y) #s(literal 0 binary64)) (*.f64 y z))
(*.f64 (neg.f64 y) (-.f64 x z))
(*.f64 y (-.f64 z x))
(-.f64 (+.f64 (-.f64 (*.f64 x z) (*.f64 z z)) (*.f64 z z)) (*.f64 z y))
(+.f64 (*.f64 z (-.f64 x z)) (-.f64 (*.f64 z z) (*.f64 y z)))
(-.f64 (*.f64 x z) (*.f64 y z))
(*.f64 z (-.f64 x y))
Symmetry

(negabs y)

Compiler

Compiled 18 to 9 computations (50% saved)

eval1.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
73.1%
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
Compiler

Compiled 36 to 18 computations (50% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01567
12867
24467
35267
45767
55867
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y y)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 y y) (-.f64 (*.f64 x y) (*.f64 y y))) (*.f64 y z))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 18 to 9 computations (50% saved)

preprocess109.0ms (0.5%)

Remove

(negabs y)

Compiler

Compiled 160 to 82 computations (48.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...