@@ -899,11 +899,14 @@ float sqrtf(float f)
899
899
// number of exponent and significand bits. Thus they are
900
900
// given implicitly...
901
901
902
+ #pragma CPROVER check push
903
+ #pragma CPROVER check disable "float-overflow"
902
904
float lowerSquare = lower * lower ;
903
905
__CPROVER_assume (__CPROVER_isnormalf (lowerSquare ));
904
906
905
907
float upper = nextUpf (lower );
906
908
float upperSquare = upper * upper ; // Might be +Inf
909
+ #pragma CPROVER check pop
907
910
908
911
// Restrict these to bound f and thus compute the possible
909
912
// values for the square root. Note that the lower bound
@@ -986,11 +989,14 @@ double sqrt(double d)
986
989
__CPROVER_assume (lower > 0.0 );
987
990
__CPROVER_assume (__CPROVER_isnormald (lower ));
988
991
992
+ #pragma CPROVER check push
993
+ #pragma CPROVER check disable "float-overflow"
989
994
double lowerSquare = lower * lower ;
990
995
__CPROVER_assume (__CPROVER_isnormald (lowerSquare ));
991
996
992
997
double upper = nextUp (lower );
993
998
double upperSquare = upper * upper ; // Might be +Inf
999
+ #pragma CPROVER check pop
994
1000
995
1001
__CPROVER_assume (lowerSquare <= d );
996
1002
__CPROVER_assume (d < upperSquare );
@@ -1060,11 +1066,14 @@ long double sqrtl(long double d)
1060
1066
__CPROVER_assume (lower > 0.0l );
1061
1067
__CPROVER_assume (__CPROVER_isnormalld (lower ));
1062
1068
1069
+ #pragma CPROVER check push
1070
+ #pragma CPROVER check disable "float-overflow"
1063
1071
long double lowerSquare = lower * lower ;
1064
1072
__CPROVER_assume (__CPROVER_isnormalld (lowerSquare ));
1065
1073
1066
1074
long double upper = nextUpl (lower );
1067
1075
long double upperSquare = upper * upper ; // Might be +Inf
1076
+ #pragma CPROVER check pop
1068
1077
1069
1078
__CPROVER_assume (lowerSquare <= d );
1070
1079
__CPROVER_assume (d < upperSquare );
0 commit comments