float x;
...
0.0f != - x
That is, IEEE negative zero is not properly accounted for. In this case, this is handled by the compiler rather than a library so it has to be addressed in the compiler itself.
Attached you'll find the original test program and an excerpt from the generated assembly
except from assembly
source code to test program
Fixed in SDCC 3.0.4 #6805.