Question: This is really taking my time. I could not find a simple way to estimate FLOPS for a following code (the loop), How much FLOPS are for a single iteration of the loop:

```
float func(float * atominfo, float energygridItem, int xindex, int yindex)
{
   ...
   for (atomid=0; atomid<numatoms*4; atomid+=4) 
   {
       float dy = coory - atominfo[atomid+2];
       float dysqpdzsq = (dy * dy) + atominfo[atomid+3];
       float dx1 = coorx1 - atominfo[atomid+1];

       float s, y, t;
       s = atominfo[atomid] * (1.0f / sqrtf(dx1*dx1 + dysqpdzsq));
       y = s - energycomp1;
       t = energyvalx1 + y;
       energycomp1 = (t - energyvalx1)  - y;
       energyvalx1 = t;
    }
    ...
}

```

It looks simple but I got confused with some other numbers given earlier, so it would be great if someone can give an exact number.

Thanks.

Answer: 
I see (in order of increasing complexity):

* 8 additions (inc. subtractions)
* 3 multiplications
* 1 reciprocal-square-root

How these relate to each other depends strongly on the CPU family.
Try using a performance measurement library like PAPI, they give abstractions to hardware counters which would be your best best to measure the FLOPS.
PAPI\_FLOPS.