complete_add now uses all structural components except for bitshifting and sign extending (which is just rewiring anyway)