Forward pass is running but the math is not correct.  I made some mistake in calculating the update vector u in best_knot.