Putting all the maintainability and reading issues aside, can these lines of code generate undefined behavior?
float a = 0, b = 0; float& x = some_condition
No, it's just fine. It would not create undefined behavior in this code. You will just change value of a or b to 5, according to condition.