question: public void execute2 ( KahanObject in1 , double in2 ) { if ( Double . isInfinite ( in1 . _sum ) || Double . isInfinite ( in2 ) ) { in1 . set ( Double . isInfinite ( in2 ) ? in2 : in1 . _sum , 0 ) ; return ; } double correction = in2 + in1 . _correction ; double sum = in1 . _sum + correction ; in1 . set ( sum , correction - ( sum - in1 . _sum ) ) ; }
target:  Simplified version of execute(Data in1, double in2)  without exception handling and casts.