https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108704
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Adding -fno-analyzer-state-purge fixes the false positive, looks like it's erroneously pruning the value of fp0 immediately after the first assignment.