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

Time bar (total: 2.1s)

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

sample1.7s (82.5%)

Results
933.0ms5014×body256valid
305.0ms676×body1024valid
137.0ms1356×body256infinite
107.0ms453×body512valid
101.0ms227×body512infinite
94.0ms388×body2048valid
29.0ms142×body1024infinite
Bogosity

preprocess136.0ms (6.5%)

Algorithm
egg-herbie
Rules
1524×fma-neg
1240×sub-neg
740×fma-def
722×+-commutative
676×distribute-lft-neg-in
Problems
163×No Errors
79×(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
13×(-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y))
(-.f64 (*.f64 x y) (*.f64 y z))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043360
1170158
2554108
31870108
45592108
57273108
67826108
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (-.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (-.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) z)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y)))
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y (neg.f64 z))) (*.f64 y y)) (*.f64 y y))
(+.f64 (-.f64 (-.f64 (*.f64 y x) (*.f64 x z)) (*.f64 x x)) (*.f64 x x))
(+.f64 (-.f64 (-.f64 (*.f64 z y) (*.f64 y x)) (*.f64 y y)) (*.f64 y y))
(+.f64 (-.f64 (-.f64 (*.f64 x z) (*.f64 z y)) (*.f64 z z)) (*.f64 z z))
Outputs
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (-.f64 (fma.f64 x y (*.f64 y (neg.f64 z))) (*.f64 y y)))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (-.f64 (fma.f64 x y (*.f64 y (neg.f64 z))) (*.f64 y y)))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(+.f64 (-.f64 (-.f64 (*.f64 (neg.f64 x) y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (-.f64 (fma.f64 (neg.f64 x) y (*.f64 y (neg.f64 z))) (*.f64 y y)))
(+.f64 (*.f64 y (-.f64 (neg.f64 x) z)) 0)
(*.f64 (neg.f64 y) (+.f64 x z))
(*.f64 y (-.f64 (neg.f64 x) z))
(+.f64 (-.f64 (-.f64 (*.f64 x (neg.f64 y)) (*.f64 (neg.f64 y) z)) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 (neg.f64 y) (neg.f64 y)))
(+.f64 (*.f64 y y) (-.f64 (+.f64 (neg.f64 (*.f64 x y)) (*.f64 y z)) (*.f64 y y)))
(+.f64 (*.f64 y (-.f64 z x)) 0)
(*.f64 y (-.f64 z x))
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y (neg.f64 z))) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (-.f64 (*.f64 x y) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 y y))))
(+.f64 (fma.f64 x y (*.f64 y z)) 0)
(*.f64 y (+.f64 x z))
(+.f64 (-.f64 (-.f64 (*.f64 y x) (*.f64 x z)) (*.f64 x x)) (*.f64 x x))
(+.f64 (*.f64 x x) (-.f64 (*.f64 x y) (+.f64 (*.f64 x z) (*.f64 x x))))
(+.f64 (*.f64 x (-.f64 y z)) 0)
(*.f64 x (-.f64 y z))
(+.f64 (-.f64 (-.f64 (*.f64 z y) (*.f64 y x)) (*.f64 y y)) (*.f64 y y))
(+.f64 (*.f64 y y) (-.f64 (+.f64 (neg.f64 (*.f64 x y)) (*.f64 y z)) (*.f64 y y)))
(+.f64 (*.f64 y (-.f64 z x)) 0)
(*.f64 y (-.f64 z x))
(+.f64 (-.f64 (-.f64 (*.f64 x z) (*.f64 z y)) (*.f64 z z)) (*.f64 z z))
(+.f64 (*.f64 z z) (-.f64 (fma.f64 x z (*.f64 y (neg.f64 z))) (*.f64 z z)))
(+.f64 (*.f64 z (-.f64 x y)) 0)
(*.f64 z (-.f64 x y))
Compiler

Compiled 67 to 19 computations (71.6% saved)

eval1.0ms (0%)

Compiler

Compiled 30 to 13 computations (56.7% saved)

prune1.0ms (0.1%)

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

Compiled 16 to 10 computations (37.5% saved)

localize22.0ms (1.1%)

Compiler

Compiled 15 to 6 computations (60% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Accuracy
100.0%
Counts
1 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 y (-.f64 x z))
Compiler

Compiled 31 to 16 computations (48.4% saved)

regimes17.0ms (0.8%)

Accuracy

Total -22.0b remaining (-∞%)

Threshold costs -22b (-∞%)

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

4 calls:

8.0ms
y
3.0ms
x
3.0ms
z
3.0ms
(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (-.f64 (-.f64 (*.f64 x y) (*.f64 y z)) (*.f64 y y)) (*.f64 y y))
Compiler

Compiled 53 to 29 computations (45.3% saved)

simplify4.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11113
21613
31813
41913
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 y (-.f64 x z))
Outputs
(*.f64 y (-.f64 x z))
Compiler

Compiled 8 to 5 computations (37.5% saved)

soundness149.0ms (7.2%)

Rules
1524×fma-neg
1240×sub-neg
740×fma-def
722×+-commutative
676×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043360
1170158
2554108
31870108
45592108
57273108
67826108
Stop Event
node limit
Compiler

Compiled 61 to 17 computations (72.1% saved)

end0.0ms (0%)

preprocess31.0ms (1.5%)

Compiler

Compiled 68 to 38 computations (44.1% saved)

Profiling

Loading profile data...