PSA: If you're writing a GTK widget that uses floating-point math to convert between its own size and its child size — perhaps multiplying/dividing by a scale, like GtkRevealer does, or lerp + ease, like AdwClamp does,
you MUST use ceil() when converting from the child's size to the container size, and floor() when converting the other way. This is the only working combination.
I have discovered a truly marvelous proof of this, which this toot is too short to contain.