using embb::algorithms::Zip; using embb::algorithms::ZipPair; int dot_product = Reduce(Zip(range.begin(), second_range.begin()), Zip(range.end(), second_range.end()), 0, std::plus(), [](const ZipPair& pair) { return pair.First() * pair.Second(); });