class A {
  
  void myMethod() {
    float a = 16777216.0f;
    float b = 1.0f;
    float c = a + b; // Noncompliant {{Use a "double" or "BigDecimal" instead.}} yields 1.6777216E7 not 1.6777217E7 [[sc=15;ec=20]]

    double d1 = a + b; // Noncompliant ; addition is still between 2 floats
    double d2 = a - b; // Noncompliant
    double d3 = a * b; // Noncompliant
    double d4 = a / b; // Noncompliant
    double d5 = a / b + b; // Noncompliant, only one issue should be reported [[sc=17;ec=26]]
    
    double d6 = a + d1;
    
    int i = 16777216;
    int j = 1;
    int k = i + j;
  }
  
}
