Very minor typo: the new item fxneg shows two arguments i and j, which should just be i.

Thank-you for making shifts of > fx-width an error!   Perhaps it should be >= fx-width.  All CPUs I have studied would alias a shift by 32 as a shift by zero on a 32-bit quantity.    However, most Schemes & Lisps I know of use an fx-width less than a full register width anyway, so it's not that big a problem.