(distribute) ( outer inner imm temp add-op mul-op -- new-outers/f )


Vocabulary
compiler.cfg.gvn.math

Inputs
outeran object
inneran object
imman object
tempan object
add-opan object
mul-opan object


Outputs
new-outers/fan object


Definition


:: (distribute)
( outer inner imm temp add-op mul-op -- new-outers/f )
imm immediate-arithmetic? [
[
temp inner src1>> outer src2>> mul-op execute
outer dst>> temp imm add-op execute
] { } make
] [ f ] if ; inline