for (int j=0; j < weights[i].length; j++) {
w = weights[i][j];
weightSquare[i][j] = w * w;
}
}
<BUG>}
double[][] E = empty2D();
double[][] dropoutPriorGrad = null;
if (prior == DROPOUT_PRIOR)

dropoutPriorGrad = empty2D();
if (multiThreadGrad == 0) {
</BUG>
for (int m = 0; m < data.length; m++) {

for (int j=0; j < weights[i].length; j++) {
w = weights[i][j];
weightSquare[i][j] = w * w;
}
}
}
clear2D(E);
if (prior != DROPOUT_PRIOR) {
if (multiThreadGrad == 1) {
for (int m = 0; m < data.length; m++) {
