Why does equate break floor/ceil?

There is a strange behaviour when I use the equate package and equation numbering:

$ a = floor(b / c) $

#import "@preview/equate:0.3.3": equate
#show: equate.with(breakable: true, number-mode: "label")
#set math.equation(numbering: "(1)")

$ a = floor(b / c) $

The floor/ceil appear as inline math, but the rest of the equation remains in display math, which creates an ugly output. The workaround I found is to explicitly wrap the equation in `$display()$`, which gets tedious. Is it a bug? Is there a simple way to fix it?

Yeah this is a bug, it was already fixed in #28 but no updated version of the package has been published.
Unfortunately I don’t know a simple fix, you could try v0.3.2 which doesn’t have this bug, but it could have other bugs.