When optimized correctly, the intermediate int32 objects are not constructed.
In unoptimized code, sequences of operations like
(sys:int32+ (sys:int32- a b) (sys:int32- c d))
will generate intermediate int32 objects for the results of the subtraction, but the compiler can optimize these away because it knows that the function int32+ consumes int32 objects.
the INT32 API is not designed to optimize
objects passed as arguments.
LispWorks User Guide and Reference Manual - 21 Dec 2011