Did you know that the order of the float placement specifiers
p, like in
has absolutely no effect? Thus
[hb] is exactly the same as
[bh]: both allow the float only to be placed “here” or at the bottom but not the top of a page nor on a float page.
The order of possible positions is hard-coded in the algorithm: 1. here, 2. top of this page, 3. bottom of this page, 4. float page, 5. top of next page and finally 6. bottom of next page.