The right correction should be to edit the project properties and select the FPU and FPU-ABI:
select FPU = fpv3_fp16
and fpu-abi = hard
Do this on both the main project and the static library project, then clean both projects (you can just delete their Debug folders) and rebuild. It should then work without any problem.
This is in fact due to a small glitch in the current System Workbench version: for STM32F4 we note they have an FPU, but nevertheless keep generating code without using the FPU... This will be corrected in the next update.
Correcting by changing the source code, like you do, will thus no more be needed, and all your code (C and ASM) will be able to use the FPU.