GCC Handling Float comparison differently at different Optimization Levels GCC Handling Float comparison differently at different Optimization Levels linux linux