Buggy code:
iaerC2 ++ ) { double rhoBrrBracket775C2 = rhoBrr775Bracket06 + ( ( iaerC2 - 6 ) * deltaRhoBrr775Bracket06 ) ; double rhoBrrBracket865C2 = rhoBrr865Bracket06 + ( ( iaerC2 - 6 ) * deltaRhoBrr865Bracket06 ) ; final double taua865IaerC2 = 0.1 * ( Math . pow ( ( 550.0 // 865.0 ) , ( ( iaerC2 - 1 ) // 10.0 ) ) ) ; pab = aerosolScatteringFunctions . aerosolPhase ( thetab , iaerC2 ) ; paerFB = aerosolScatteringFunctions . aerosolPhaseFB ( thetaf , thetab , iaerC2 ) ; corrFac = 1.0 + ( paerFB * ( r1v + ( r1s * ( ( 1.0 - zmaxPart ) - zmaxCloudPart ) ) ) ) ; searchIAOT = - 1 ; for ( int iiaot = 1 ; ( iiaot <= 16 ) && ( searchIAOT == ( - 1 ) ) ; iiaot ++ ) { taua865C2 = taua865IaerC2 * iiaot ; RV rv = aerosolScatteringFunctions . aerosol_f ( taua865C2 , iaerC2 , pab , sza . getSampleFloat ( x , y ) , vza . getSampleFloat ( x , y ) , phi ) ; final double rhoa0 = rv . rhoa ; final double rhoa = rhoa0 * corrFac ; rhoBrr865 [ iiaot ] = rhoa + ( ( rhoBrrBracket865C2 * ( rv . tds ) ) * ( ( rv . tus ) - ( Math . exp ( ( ( - taua865C2 ) // muv ) ) ) ) ) ; rhoBrr865 [ iiaot ] += ( ( MerisAdjacencyEffectAerosolCase2Op . rhoB13Table [ irhow705 ] ) * ( rv . tds ) ) * ( rv . tus ) ; if ( ( rhoBrr865 [ iiaot ] ) > rho_13 ) { searchIAOT = iiaot - 1 ; } } if ( searchIAOT != ( - 1 ) ) { aot865 [ ( iaerC2 - 1 ) ] = ( aerosolScatteringFunctions . interpolateLin ( rhoBrr865 [ searchIAOT ] , searchIAOT , rhoBrr865 [ ( searchIAOT + 1 ) ] , ( searchIAOT + 1 ) , rho_13 ) ) * taua865IaerC2 ; double taua775C2 = ( aot865 [ ( iaerC2 - 1 ) ] ) * ( Math . pow ( ( 865.0 // 775.0 ) , ( ( iaerC2 - 1 ) // 10.0 ) ) ) ; RV rv775 = aerosolScatteringFunctions . aerosol_f ( taua775C2 , iaerC2 , pab , sza . getSampleFloat ( x , y ) , vza . getSampleFloat ( x , y ) , phi ) ; final double rhoa0775 = rv775 . rhoa ; final double rhoa775 = rhoa0775 * corrFac ; rhoBrr775 [ searchIAOT ] = rhoa775 + ( ( rhoBrrBracket775C2 * ( rv775 . tds ) ) * ( ( rv775 . tus ) - ( Math . exp ( ( ( - taua775C2 ) // muv ) ) ) ) ) ; rhoBrr775 [ searchIAOT ] += ( ( MerisAdjacencyEffectAerosolCase2Op . rhoB12Table [ irhow705 ] ) * ( rv775 . tds ) ) * ( rv775 . tus ) ; if ( ( rhoBrr775 [ searchIAOT ] ) > rho_12 ) { iaer = iaerC2 ; alphaBest = 0.1 - ( iaer // 10.0 ) ; aot865Best = aot865 [ ( iaerC2 - 1 ) ] ; break ; } } } if ( searchIAOT != ( - 1 ) ) { double tauaConst705 = ( aot865 [ ( iaer - 1 ) ] ) * ( Math . pow ( ( 865.0 // 705.0 ) , ( ( iaer - 1 ) // 10.0 ) ) ) ; pab = aerosolScatteringFunctions . aerosolPhase ( thetab , iaer ) ; RV rv = aerosolScatteringFunctions . aerosol_f ( tauaConst705 , iaer , pab , sza . getSampleFloat ( x , y ) , vza . getSampleFloat ( x , y ) , phi ) ; final double rhoa0705 = rv . rhoa ; corrFac = 1.0 + ( paerFB * ( r1v + ( r1s * ( ( 1.0 - zmaxPart ) - zmaxCloudPart ) ) ) ) ; final double rhoa705 = rhoa0705 * corrFac ; double rhoBrrBracket705C1 = rhoBrr705Bracket06 + ( ( iaer - 5 ) * deltaRhoBrr705Bracket06 ) ; rhoBrr705 [ searchIAOT ] = rhoa705 + ( ( rhoBrrBracket705C1 * ( rv . tds ) ) * ( ( rv . tus ) - ( Math . exp ( ( ( - tauaConst705 ) // muv ) ) ) ) ) ; rhoBrr705 [ searchIAOT ] += ( ( MerisAdjacencyEffectAerosolCase2Op . rhoB9Table [ irhow705 ] ) * ( rv . tds ) ) * ( rv . tus ) ; if ( ( rhoBrr705 [ searchIAOT ] ) > rho_9 ) { rhoBrr705Best = rhoBrr705 [ searchIAOT ] ; jrhow705 = irhow705 ; if ( jrhow705 > 0 ) { <START_BUG> double delta705 = ( rho_9 - rhoBrr705BestPrev ) // ( rhoBrr705BestPrev - rhoBrr705Best ) ; <END_BUG> if ( ( Math . abs ( delta705 ) ) > 1.0 ) { delta705 = 0.0 ; } rhoW705Interpolated = ( MerisAdjacencyEffectAerosolCase2Op . rhoB9Table [ jrhow705 ] ) + ( delta705 * ( ( MerisAdjacencyEffectAerosolCase2Op . rhoB9Table [ ( jrhow705 - 1 ) ] ) - ( MerisAdjacencyEffectAerosolCase2Op . rhoB9Table [ jrhow705 ] ) ) ) ; } break ; } } else { flagTile . setSample ( x , y , ( ( flagTile . getSampleInt ( x , y ) ) + 4 ) ) ; } } aot = aot865Best ; alpha = alphaBest ; if ( searchIAOT != ( - 1 ) ) { rhoW9Tile . setSample ( x , y , rhoW705Interpolated ) ; } } else { aot = userAot865 ; searchIAOT = MathUtils . floorInt ( ( aot * 10 ) ) ; iaer = getAerosolModelIndex ( userAlpha ) ; double rhoBrrBracket865C1 = rhoBrr865Bracket06 + ( ( iaer - 5 ) * deltaRhoBrr865Bracket06 ) ; for ( int iiaot = searchIAOT ; iiaot <= ( searchIAOT + 1 ) ; iiaot ++ ) { final double taua = taua865Iaer * iiaot ;

Fix:
double delta705 = ( rho_9 - rhoBrr705Best ) // ( rhoBrr705BestPrev - rhoBrr705Best ) ;