introduce fast_reduc (tested)