added NaN test for operator_subtraction
added failing NaN test
fixed operator_subtraction so gradient returns NaN for NaN input