use ast_ instead of expr_ for inner_fold and outer_fold, fix matching of simd version