Asterisks are expected beside each line with a 0.50 in the last column given below using the following simple C code with the greater than or equivalent to comparisons. Only 2 found out of the 6 expected using the same calculation for all. Adding 1.0e-16 or more solves the problem but that doesn't conform to ANSI standard. Precision problem? Mac mini with latest OS.
#include <stdio.h>
#include <math.h>
int main( ){
int i,j;
double x,y,delta;
double sum;
x=0.0;
delta = 0.1;
for(i=0;i<11;i++)
{
y=0.0;
for(j=0;j<11;j++)
{
sum = x+y;
printf("x= %7.2f y= %7.2f sum= %7.2f ",x,y,sum);
if( sum == 0.5 )printf("*******");
printf("\n");
y=y-delta;
}
printf("\n");
x=x+delta;
} return 0;
}
Results(abbreviated)
x= 0.50 y= 0.00 sum= 0.50 *******
x= 0.50 y= -0.10 sum= 0.40
x= 0.50 y= -0.20 sum= 0.30
x= 0.50 y= -0.30 sum= 0.20
x= 0.50 y= -0.40 sum= 0.10
x= 0.50 y= -0.50 sum= 0.00
x= 0.50 y= -0.60 sum= -0.10
x= 0.50 y= -0.70 sum= -0.20
x= 0.50 y= -0.80 sum= -0.30
x= 0.50 y= -0.90 sum= -0.40
x= 0.50 y= -1.00 sum= -0.50
x= 0.60 y= 0.00 sum= 0.60
x= 0.60 y= -0.10 sum= 0.50 *******
x= 0.60 y= -0.20 sum= 0.40
x= 0.60 y= -0.30 sum= 0.30
x= 0.60 y= -0.40 sum= 0.20
x= 0.60 y= -0.50 sum= 0.10
x= 0.60 y= -0.60 sum= 0.00
x= 0.60 y= -0.70 sum= -0.10
x= 0.60 y= -0.80 sum= -0.20
x= 0.60 y= -0.90 sum= -0.30
x= 0.60 y= -1.00 sum= -0.40
x= 0.70 y= 0.00 sum= 0.70
x= 0.70 y= -0.10 sum= 0.60
x= 0.70 y= -0.20 sum= 0.50 expected here!
x= 0.70 y= -0.30 sum= 0.40
x= 0.70 y= -0.40 sum= 0.30
x= 0.70 y= -0.50 sum= 0.20
x= 0.70 y= -0.60 sum= 0.10
x= 0.70 y= -0.70 sum= 0.00
x= 0.70 y= -0.80 sum= -0.10
x= 0.70 y= -0.90 sum= -0.20
x= 0.70 y= -1.00 sum= -0.30
x= 0.80 y= 0.00 sum= 0.80
x= 0.80 y= -0.10 sum= 0.70
x= 0.80 y= -0.20 sum= 0.60
x= 0.80 y= -0.30 sum= 0.50 expected here!
x= 0.80 y= -0.40 sum= 0.40
x= 0.80 y= -0.50 sum= 0.30
x= 0.80 y= -0.60 sum= 0.20
x= 0.80 y= -0.70 sum= 0.10
x= 0.80 y= -0.80 sum= 0.00
x= 0.80 y= -0.90 sum= -0.10
x= 0.80 y= -1.00 sum= -0.20
x= 0.90 y= 0.00 sum= 0.90
x= 0.90 y= -0.10 sum= 0.80
x= 0.90 y= -0.20 sum= 0.70
x= 0.90 y= -0.30 sum= 0.60
x= 0.90 y= -0.40 sum= 0.50 expected here!
x= 0.90 y= -0.50 sum= 0.40
x= 0.90 y= -0.60 sum= 0.30
x= 0.90 y= -0.70 sum= 0.20
x= 0.90 y= -0.80 sum= 0.10
x= 0.90 y= -0.90 sum= 0.00
x= 0.90 y= -1.00 sum= -0.10
x= 1.00 y= 0.00 sum= 1.00
x= 1.00 y= -0.10 sum= 0.90
x= 1.00 y= -0.20 sum= 0.80
x= 1.00 y= -0.30 sum= 0.70
x= 1.00 y= -0.40 sum= 0.60
x= 1.00 y= -0.50 sum= 0.50 expected here!
x= 1.00 y= -0.60 sum= 0.40
x= 1.00 y= -0.70 sum= 0.30
x= 1.00 y= -0.80 sum= 0.20
x= 1.00 y= -0.90 sum= 0.10
x= 1.00 y= -1.00 sum= 0.00