                     to.pointee.value = a
                 }
                 
-                dw += a.euclideanDegree - a0.euclideanDegree
+                if track {
+                    dw += a.euclideanDegree - a0.euclideanDegree
+                }
                 
             } else {
                 let a = r * from.value

                to.pointee.insertNext(p)
                (prev, to) = (to, p)
                
                dw += a.euclideanDegree
            }
            
            // from: ------------->●--->○-------->

    @_specialize(where R == 𝐙)
    private func addRow(_ fromHead: Entity, _ toHeadOpt: EntityPointer?, _ r: R) -> (EntityPointer?, Int) {
        var dw = 0
        let track = (tracker != nil)
        
        let toHead = {() -> EntityPointer in
            if toHeadOpt == nil || fromHead.col < toHeadOpt!.pointee.col {
