Gated Single Assignment Instrumentation And Fault Localization For Numerical Java Programs