     		Cs[tx] = 0;
     	}
     	As[ty][tx] = 0;
-    	B0[ty * MULTIPLY_BLOCK_SIZE + tx] = 0;    
+    	B0[ty * MULTIPLY_BLOCK_SIZE + tx] = 0;
     }
 
 	// Zero last row of Bs and Es (only for unrolled iteration at end)


    // Write the block sub-matrix to device memory;
    // each thread writes one element
    
    if (Csub < 0)
    	Csub = 0;


        d += MULTIPLY_BLOCK_SIZE;

    }

    if (tx < EDGE && ty < EDGE) { // Last block is too long

        READ_SCHUR_VALUES();

        As[ty][tx] = A[a + PADDED_STATE_COUNT * ty + tx];
        B0[ty * MULTIPLY_BLOCK_SIZE + tx] = B[b + PADDED_STATE_COUNT * ty + tx];

