bad_store_at.cpp
#include "Halide.h"
#include <stdio.h>
using namespace Halide;
int main(int argc, char **argv) {
Func f("f"), g("g"), h("h");
Var x("x"), y("y");
f(x) = x;
g(x) = f(x);
h(x, y) = g(x);
g.compute_at(h, y);
// This makes no sense, because the compute_at level is higher than the store_at level
f.store_at(h, y).compute_root();
h.realize(10, 10);
printf("I should not have reached here\n");
return 0;
}