#include <numeric>
#include <vector>

#include SPECIFIC_HEADER

int main(int /*argc*/, char** /*argv*/)
{
  constexpr unsigned num_entries = 10000000;
  std::vector<int> in(num_entries);
  std::iota(std::begin(in), std::end(in), 0);
  auto out = product_except(in);
  
  bool success = out[1] == 0;
  return !success;
}

#include <numeric>
#include <vector>

#include SPECIFIC_HEADER

int main(int /*argc*/, char** /*argv*/)
{
  constexpr unsigned num_entries = 1e7;
  std::vector<int> in(num_entries);
  std::iota(std::begin(in), std::end(in), 0);
  auto out = product_except(in);
  
  bool success = out[1] == 0;
  return !success;
}

--- 
+++ 
@@ -5,7 +5,7 @@
 
 int main(int /*argc*/, char** /*argv*/)
 {
-  constexpr unsigned num_entries = 1e7;
+  constexpr unsigned num_entries = 10000000;
   std::vector<int> in(num_entries);
   std::iota(std::begin(in), std::end(in), 0);
   auto out = product_except(in);
[product-except-self][vs] Fix double to unsigned error