added NaN test for operator_multiplication
added failing NaN test
fixed operator_multiplication so gradients return NaN for NaN inputs