Hello all, Here are three more patches. The first adds fast implementations of the remaining number-theoretic division operators as described in Taylor Campbell's proposal: floor/, ceiling/, truncate/, round/, as well as the single-valued variants. The third patch optimizes the case where both arguments are exact and at least one is a fraction. The second patch is needed by the third. It adds an internal C function that extracts two values from a values object. I needed it because my optimization for fractions works by calling the same division operator recursively on a subproblem involving only integers, and I need a way to extract the two values. Initially, I began to make internal versions of the divide functions that returned their two values via parameters of type (SCM *), but then I realized that in the cases where I dispatch into GOOPS, I'd still need to extract from a values object. If I've overlooked some existing mechanism for extracting multiple values from C, or if you have a better idea, please let me know and I'll rework the patch. Note that these patches should be applied after the ones in my recent post entitled "Miscellaneous fixes and improvements". Best, Mark