consume( execute( consume( store(aimg, image(${1})), store(oimg, bimage(storage(aimg))), store(img, bimage(storage(aimg))), store(size, simage(storage(img))), store(width, index(storage(size), 0)), store(height, index(storage(size), 1)), store(function, ->${2}), store(secW, long(div(storage(width), 4))), store(secH, long(div(storage(height), 2))), store(slice1, slice(storage(img), 0, 0, storage(secW), storage(secH))), store(slice2, slice(storage(img), storage(secW), 0, storage(secW), storage(secH))), store(slice3, slice(storage(img), long(mul(storage(secW), 2)), 0, storage(secW), storage(secH))), store(slice4, slice(storage(img), long(mul(storage(secW), 3)), 0, storage(secW), storage(secH))), store(slice5, slice(storage(img), 0, storage(secH), storage(secW), storage(secH))), store(slice6, slice(storage(img), storage(secW), storage(secH), storage(secW), storage(secH))), store(slice7, slice(storage(img), long(mul(storage(secW), 2)), storage(secH), storage(secW), storage(secH))), store(slice8, slice(storage(img), long(mul(storage(secW), 3)), storage(secH), storage(secW), storage(secH))), thread( ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex1), 1), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex2), 2), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex3), 3), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex4), 4), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex5), 5), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex6), 6), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex7), 7), ->fori(0, 0, storage(secW), storage(secH), replace(storage(function), forindex, forindex8), 8), ), store(img, cimage(storage(width), storage(height))), conjoin(storage(img), storage(slice1), 0, 0), conjoin(storage(img), storage(slice2), storage(secW), 0), conjoin(storage(img), storage(slice3), long(mul(storage(secW), 2)), 0), conjoin(storage(img), storage(slice4), long(mul(storage(secW), 3)), 0), conjoin(storage(img), storage(slice5), 0, storage(secH)), conjoin(storage(img), storage(slice6), storage(secW), storage(secH)), conjoin(storage(img), storage(slice7), long(mul(storage(secW), 2)), storage(secH)), conjoin(storage(img), storage(slice8), long(mul(storage(secW), 3)), storage(secH)) ), attach(aimage(storage(img))) ) )