# Order of operations

For scientific computing, scientific visualization, and computer graphics (areas I am familiar with) order of operations is important. Why? Well, if you *need* to exactly replicate some number, whether you're using float16, float32, or float64, the only way to do it is to have the operation done the same way. 

If you have a function that returns:
```
return d[0] * d[1] + d[1]*d[2] + d[2] * d[0];
```
then multiplication rules you learned in elementary school says you can change it to:
```
return (d[0] + d[1]) * d[2] + d[0] * d[1];
```
This is done because there's one fewer multiplications. But, if you're expecting the exact same floating point values on return, you might not get that.


