Linear.V2:$cdot from linear-1.19.1.3, A

Time bar (total: 3.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 9 to 9 computations (0% saved)

sample677.0ms (17.3%)

Memory
-4.1MiB live, 698.8MiB allocated; 216ms collecting garbage
Samples
428.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 201.0ms
ival-mult!: 179.0ms (89.3% of total)
ival-add!: 20.0ms (10% of total)
adjust: 1.0ms (0.5% of total)
Bogosity

preprocess17.0ms (0.4%)

Memory
39.8MiB live, 39.8MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037109
199105
2218105
3330105
4330105
Stop Event
saturated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 14 to 14 computations (0% saved)

series2.4s (61.4%)

Memory
-68.7MiB live, 45.4MiB allocated; 2.8s collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057190
Stop Event
iter-limit
Counts
7 → 15
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
Outputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
#s(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx y y)
#s(approx (+ (* x y) (* z t)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))))
#s(approx z z)
#s(approx (+ (* x y) (* z t)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))))))
#s(approx t t)
#s(approx (+ (* x y) (* z t)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))))))
Calls

12 calls:

TimeVariablePointExpression
2.4s
y
@inf
((+ (* x y) (* z t)) (* x y) x y (* z t) z t)
41.0ms
y
@-inf
((+ (* x y) (* z t)) (* x y) x y (* z t) z t)
1.0ms
z
@-inf
((+ (* x y) (* z t)) (* x y) x y (* z t) z t)
1.0ms
x
@-inf
((+ (* x y) (* z t)) (* x y) x y (* z t) z t)
1.0ms
x
@inf
((+ (* x y) (* z t)) (* x y) x y (* z t) z t)

rewrite333.0ms (8.5%)

Memory
-248.5MiB live, 218.6MiB allocated; 76ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
13517
210217
323717
440417
573117
6341117
0806416
11381116
Stop Event
saturated
node-limit
iter-limit
Counts
7 → 27
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(*.f64 x y)
x
y
(*.f64 z t)
z
t
Outputs
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 y x))))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 t z))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 t z))
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 y x))
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 y x))
(fma.f64 t z (*.f64 y x))
(fma.f64 z t (*.f64 y x))
(fma.f64 y x (*.f64 t z))
(fma.f64 x y (*.f64 t z))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
x
y
(*.f64 (neg.f64 t) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 t))
(*.f64 t z)
(*.f64 z t)
(neg.f64 (*.f64 (neg.f64 z) t))
z
t

eval3.0ms (0.1%)

Memory
6.1MiB live, 6.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 176 to 99 computations (43.8% saved)

prune2.0ms (0%)

Memory
3.5MiB live, 3.5MiB allocated; 0ms collecting garbage
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New34236
Fresh000
Picked101
Done000
Total35237
Accuracy
100.0%
Counts
37 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 z t (*.f64 y x))
53.6%
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
Compiler

Compiled 15 to 15 computations (0% saved)

series9.0ms (0.2%)

Memory
13.0MiB live, 13.0MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058190
Stop Event
iter-limit
Counts
8 → 15
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
(*.f64 t z)
t
z
(fma.f64 z t (*.f64 y x))
(*.f64 y x)
y
x
Outputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
#s(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
#s(approx (* y x) (*.f64 x y))
#s(approx x x)
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx y y)
#s(approx (+ (* x y) (* z t)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))))
#s(approx z z)
#s(approx (+ (* x y) (* z t)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))))))
#s(approx t t)
#s(approx (+ (* x y) (* z t)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))))))
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((+ (* x y) (* z t)) (* t z) t z (+ (* z t) (* y x)) (* y x) y x)
1.0ms
x
@-inf
((+ (* x y) (* z t)) (* t z) t z (+ (* z t) (* y x)) (* y x) y x)
1.0ms
z
@-inf
((+ (* x y) (* z t)) (* t z) t z (+ (* z t) (* y x)) (* y x) y x)
1.0ms
t
@-inf
((+ (* x y) (* z t)) (* t z) t z (+ (* z t) (* y x)) (* y x) y x)
0.0ms
x
@inf
((+ (* x y) (* z t)) (* t z) t z (+ (* z t) (* y x)) (* y x) y x)

rewrite333.0ms (8.5%)

Memory
0.8MiB live, 137.4MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
01426
16426
215726
328526
439026
570626
6338626
0805326
11380626
Stop Event
saturated
node-limit
iter-limit
Counts
8 → 28
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
(*.f64 t z)
t
z
(fma.f64 z t (*.f64 y x))
(*.f64 y x)
y
x
Outputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
(*.f64 (neg.f64 t) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 t))
(*.f64 t z)
(*.f64 z t)
(neg.f64 (*.f64 (neg.f64 z) t))
t
z
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 y x))))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 t z))
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 y x))
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 y x))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(fma.f64 z t (*.f64 y x))
(fma.f64 y x (*.f64 t z))
(fma.f64 x y (*.f64 t z))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 y) x))
y
x

eval3.0ms (0.1%)

Memory
9.5MiB live, 9.4MiB allocated; 0ms collecting garbage
Compiler

Compiled 175 to 100 computations (42.9% saved)

prune50.0ms (1.3%)

Memory
-47.4MiB live, 6.4MiB allocated; 8ms collecting garbage
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New36036
Fresh000
Picked022
Done000
Total36238
Accuracy
100.0%
Counts
38 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 z t (*.f64 y x))
53.6%
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
Compiler

Compiled 29 to 29 computations (0% saved)

regimes17.0ms (0.4%)

Memory
34.7MiB live, 34.7MiB allocated; 0ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
(fma.f64 z t (*.f64 y x))
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(fma.f64 z t (*.f64 y x))
Calls

7 calls:

8.0ms
t
1.0ms
z
1.0ms
x
1.0ms
y
1.0ms
(*.f64 z t)
Results
AccuracySegmentsBranch
99.6%1(*.f64 z t)
99.6%1(*.f64 x y)
99.6%1(+.f64 (*.f64 x y) (*.f64 z t))
99.6%1x
99.6%1y
99.6%1z
99.6%1t
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes27.0ms (0.7%)

Memory
-26.0MiB live, 20.9MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
Outputs
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
Calls

7 calls:

21.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
t
1.0ms
y
1.0ms
x
1.0ms
z
Results
AccuracySegmentsBranch
53.6%1(*.f64 z t)
53.6%1(*.f64 x y)
53.6%1(+.f64 (*.f64 x y) (*.f64 z t))
53.6%1x
53.6%1y
53.6%1z
53.6%1t
Compiler

Compiled 17 to 33 computations (-94.1% saved)

derivations30.0ms (0.8%)

Memory
-0.3MiB live, 44.7MiB allocated; 3ms collecting garbage
Stop Event
done
Compiler

Compiled 11 to 11 computations (0% saved)

preprocess18.0ms (0.4%)

Memory
8.0MiB live, 53.7MiB allocated; 4ms collecting garbage
Remove

(sort z t)

(sort x y)

Compiler

Compiled 78 to 78 computations (0% saved)

end0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...