The result looks a bit weird to me. I was expecting something like 2.2001, but got this this instead. Has this something to do with how the float values are interpreted?
When BigQuery sees literals like 1.1, 0.1, and 0.0001, it stores them as FLOAT64 (64-bit IEEE 754 floating point). The problem is that most decimal fractions cannot be represented exactly in binary floating point.
For example, 0.1 in binary is actually something like 0.1000000000000000055511151231257827021181583404541015625... — it never terminates cleanly, so the system stores the closest approximation it can, and those tiny errors accumulate across your SUM.