f                  56 apps/c_backend/pipeline_cpp_generator.cpp         Func f;
f                  80 apps/c_backend/pipeline_cpp_generator.cpp         f(x, y) = cast<uint16_t>(add_all_the_things);
f                  82 apps/c_backend/pipeline_cpp_generator.cpp         return f;
f                  14 apps/c_backend/pipeline_generator.cpp         Func f, g, h;
f                  15 apps/c_backend/pipeline_generator.cpp         f(x, y) = (input(clamp(x+2, 0, input.width()-1), clamp(y-2, 0, input.height()-1)) * 17)/13;
f                  16 apps/c_backend/pipeline_generator.cpp         h.define_extern("an_extern_stage", {f}, Int(16), 0, NameMangling::C);
f                  17 apps/c_backend/pipeline_generator.cpp         g(x, y) = cast<uint16_t>(f(y, x) + f(x, y) + an_extern_func(x, y) + h());
f                  19 apps/c_backend/pipeline_generator.cpp         f.compute_root();
f                  97 apps/fft/complex.h inline ComplexExpr select(Halide::Expr c, ComplexExpr t, ComplexExpr f) {
f                  98 apps/fft/complex.h     return ComplexExpr(Halide::select(c, re(t), re(f)),
f                  99 apps/fft/complex.h                        Halide::select(c, im(t), im(f)));
f                 103 apps/fft/complex.h                                                     ComplexExpr f) {
f                 104 apps/fft/complex.h     return ComplexExpr(Halide::select(c1, re(t1), c2, re(t2), re(f)),
f                 105 apps/fft/complex.h                        Halide::select(c1, im(t1), c2, im(t2), im(f)));
f                 109 apps/fft/fft.cpp ComplexFunc dft2(ComplexFunc f, const string& prefix) {
f                 110 apps/fft/fft.cpp     Type type = f.output_types()[0];
f                 113 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
f                 115 apps/fft/fft.cpp     vector<ComplexFuncRef> x = get_func_refs(f, 2);
f                 124 apps/fft/fft.cpp ComplexFunc dft4(ComplexFunc f, int sign, const string& prefix) {
f                 125 apps/fft/fft.cpp     Type type = f.output_types()[0];
f                 128 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
f                 130 apps/fft/fft.cpp     vector<ComplexFuncRef> x = get_func_refs(f, 4);
f                 151 apps/fft/fft.cpp ComplexFunc dft6(ComplexFunc f, int sign, const string& prefix) {
f                 159 apps/fft/fft.cpp     Type type = f.output_types()[0];
f                 162 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
f                 164 apps/fft/fft.cpp     vector<ComplexFuncRef> x = get_func_refs(f, 6);
f                 187 apps/fft/fft.cpp ComplexFunc dft8(ComplexFunc f, int sign, const string& prefix) {
f                 190 apps/fft/fft.cpp     Type type = f.output_types()[0];
f                 193 apps/fft/fft.cpp     F(f.args()) = undef_z(type);
f                 195 apps/fft/fft.cpp     vector<ComplexFuncRef> x = get_func_refs(f, 8);
f                 418 apps/fft/fft.cpp FuncType transpose(FuncType f) {
f                 419 apps/fft/fft.cpp     vector<Halide::Var> argsT(f.args());
f                 422 apps/fft/fft.cpp     fT(argsT) = f(f.args());
f                 427 apps/fft/fft.cpp std::pair<FuncType, FuncType> tiled_transpose(FuncType f, int max_tile_size,
f                 436 apps/fft/fft.cpp         return { transpose(f), FuncType() };
f                 440 apps/fft/fft.cpp         std::min(max_tile_size, target.natural_vector_size(f.output_types()[0]));
f                 442 apps/fft/fft.cpp     vector<Var> args = f.args();
f                 452 apps/fft/fft.cpp     f_tiled(A({x, y, xo, yo}, args)) = f(A({xo * tile_size + x, yo * tile_size + y}, args));
f                  38 apps/fft/funct.h     explicit FuncT(Func f) : Func(f) {}
f                  39 apps/fft/funct.h     explicit FuncT(Halide::Internal::Function f) : Func(f) {}
f                 140 apps/local_laplacian/local_laplacian_generator.cpp     Func downsample(Func f) {
f                 143 apps/local_laplacian/local_laplacian_generator.cpp         downx(x, y, _) = (f(2*x-1, y, _) + 3.0f * (f(2*x, y, _) + f(2*x+1, y, _)) + f(2*x+2, y, _)) / 8.0f;
f                 149 apps/local_laplacian/local_laplacian_generator.cpp     Func upsample(Func f) {
f                 152 apps/local_laplacian/local_laplacian_generator.cpp         upx(x, y, _) = 0.25f * f((x/2) - 1 + 2*(x % 2), y, _) + 0.75f * f(x/2, y, _);
f                  10 apps/openglcompute/test_two_kernels.cpp     Func f("f");
f                  11 apps/openglcompute/test_two_kernels.cpp     f(x, y, c) = input(x, y, c) + 1;
f                  12 apps/openglcompute/test_two_kernels.cpp     f.bound(c, 0, 4)
f                  16 apps/openglcompute/test_two_kernels.cpp     f.compute_root();
f                  17 apps/openglcompute/test_two_kernels.cpp     f.output_buffer().dim(2).set_bounds(0, 4).set_stride(1).dim(0).set_stride(4);
f                  21 apps/openglcompute/test_two_kernels.cpp         f.unroll(c)
f                  26 apps/openglcompute/test_two_kernels.cpp     g(x, y, c) = f(x, y, c) - 1;
f                  93 apps/simd_op_check/driver.cpp         filter f = filters[i];
f                  94 apps/simd_op_check/driver.cpp         printf("Testing %s\n", f.name);
f                  95 apps/simd_op_check/driver.cpp         f.fn(bufs + 0,
f                  22 python_bindings/numpy/ndarray.cpp ndarray::bitflag numpy_to_bitflag(int const f) {
f                  24 python_bindings/numpy/ndarray.cpp     if (f & NPY_C_CONTIGUOUS) r = (r | ndarray::C_CONTIGUOUS);
f                  25 python_bindings/numpy/ndarray.cpp     if (f & NPY_F_CONTIGUOUS) r = (r | ndarray::F_CONTIGUOUS);
f                  26 python_bindings/numpy/ndarray.cpp     if (f & NPY_ALIGNED) r = (r | ndarray::ALIGNED);
f                  27 python_bindings/numpy/ndarray.cpp     if (f & NPY_WRITEABLE) r = (r | ndarray::WRITEABLE);
f                  31 python_bindings/numpy/ndarray.cpp int const bitflag_to_numpy(ndarray::bitflag f) {
f                  33 python_bindings/numpy/ndarray.cpp     if (f & ndarray::C_CONTIGUOUS) r |= NPY_C_CONTIGUOUS;
f                  34 python_bindings/numpy/ndarray.cpp     if (f & ndarray::F_CONTIGUOUS) r |= NPY_F_CONTIGUOUS;
f                  35 python_bindings/numpy/ndarray.cpp     if (f & ndarray::ALIGNED) r |= NPY_ALIGNED;
f                  36 python_bindings/numpy/ndarray.cpp     if (f & ndarray::WRITEABLE) r |= NPY_WRITEABLE;
f                  41 python_bindings/python/Expr.cpp     boost::format f("<halide.Expr of type '%s(%i)'>");
f                  44 python_bindings/python/Expr.cpp     repr = boost::str(f % type_code_to_string(t) % t.bits());
f                  51 python_bindings/python/Func.cpp p::object func_realize(h::Func &f, Args... args) {
f                  52 python_bindings/python/Func.cpp     return realization_to_python_object(f.realize(args...));
f                  56 python_bindings/python/Func.cpp void func_realize_into(h::Func &f, Args... args) {
f                  57 python_bindings/python/Func.cpp     f.realize(args...);
f                  61 python_bindings/python/Func.cpp void func_realize_tuple(h::Func &f, p::tuple obj, Args... args) {
f                  62 python_bindings/python/Func.cpp     f.realize(python_object_to_realization(obj), args...);
f                 149 python_bindings/python/Func.cpp h::Func &func_store_at0(h::Func &that, h::Func f, h::Var var) {
f                 150 python_bindings/python/Func.cpp     return that.store_at(f, var);
f                 153 python_bindings/python/Func.cpp h::Func &func_store_at1(h::Func &that, h::Func f, h::RVar var) {
f                 154 python_bindings/python/Func.cpp     return that.store_at(f, var);
f                 157 python_bindings/python/Func.cpp h::Func &func_compute_at0(h::Func &that, h::Func f, h::Var var) {
f                 158 python_bindings/python/Func.cpp     return that.compute_at(f, var);
f                 161 python_bindings/python/Func.cpp h::Func &func_compute_at1(h::Func &that, h::Func f, h::RVar var) {
f                 162 python_bindings/python/Func.cpp     return that.compute_at(f, var);
f                 176 python_bindings/python/Func.cpp     boost::format f("<halide.Func '%s'>");
f                 177 python_bindings/python/Func.cpp     repr = boost::str(f % func.name());
f                 158 python_bindings/python/Image.cpp     boost::format f("<halide.Buffer%s%i; element_size %i bytes; "
f                 161 python_bindings/python/Image.cpp     repr = boost::str(f % suffix % t.bits() % t.bytes() % buffer.extent(0) % buffer.extent(1) % buffer.extent(2) % buffer.extent(3) % buffer.min(0) % buffer.min(1) % buffer.min(2) % buffer.min(3) % buffer.stride(0) % buffer.stride(1) % buffer.stride(2) % buffer.stride(3));
f                  44 python_bindings/python/Param.cpp         boost::format f("<halide.ImageParam named '%s' (not yet defined) >");
f                  45 python_bindings/python/Param.cpp         repr = boost::str(f % param.name());
f                  47 python_bindings/python/Param.cpp         boost::format f("<halide.ImageParam named '%s' of type '%s(%i)' and dimensions %i %i %i %i>");
f                  48 python_bindings/python/Param.cpp         repr = boost::str(f % param.name() %
f                 287 python_bindings/python/Param.cpp     boost::format f("<halide.Param named '%s' of type '%s(%i)'>");
f                 288 python_bindings/python/Param.cpp     repr = boost::str(f % param.name() % type_code_to_string(t) % t.bits());
f                  44 python_bindings/python/Var.cpp     boost::format f("<halide.Var '%s'>");
f                  45 python_bindings/python/Var.cpp     repr = boost::str(f % var.name());
f                  77 src/AddImageChecks.cpp     for (Function f : outputs) {
f                  78 src/AddImageChecks.cpp         for (size_t i = 0; i < f.values().size(); i++) {
f                  80 src/AddImageChecks.cpp             output_buffer.type = f.values()[i].type();
f                  81 src/AddImageChecks.cpp             output_buffer.param = f.output_buffers()[i];
f                  82 src/AddImageChecks.cpp             output_buffer.dimensions = f.dimensions();
f                  83 src/AddImageChecks.cpp             if (f.values().size() > 1) {
f                  84 src/AddImageChecks.cpp                 bufs[f.name() + '.' + std::to_string(i)] = output_buffer;
f                  86 src/AddImageChecks.cpp                 bufs[f.name()] = output_buffer;
f                 151 src/AddImageChecks.cpp         for (Function f : outputs) {
f                 152 src/AddImageChecks.cpp             for (size_t i = 0; i < f.output_buffers().size(); i++) {
f                 154 src/AddImageChecks.cpp                     param.same_as(f.output_buffers()[i])) {
f                 158 src/AddImageChecks.cpp                     buffer_name = f.name();
f                 176 src/AddImageChecks.cpp                 Function f = env.find(order[i])->second;
f                 177 src/AddImageChecks.cpp                 if (f.has_extern_definition()) {
f                 178 src/AddImageChecks.cpp                     const vector<ExternFuncArgument> &args = f.extern_arguments();
f                  30 src/AllocationBoundsInference.cpp         Function f = iter->second;
f                  31 src/AllocationBoundsInference.cpp         const vector<string> f_args = f.args();
f                  35 src/AllocationBoundsInference.cpp         if (touched_by_extern.count(f.name())) {
f                  58 src/AllocationBoundsInference.cpp             for (size_t j = 0; j < f.schedule().bounds().size(); j++) {
f                  59 src/AllocationBoundsInference.cpp                 Bound b = f.schedule().bounds()[j];
f                 108 src/AllocationBoundsInference.cpp                                         {f_args[i], f.name(), min_var, max_var, b[i].min, b[i].max},
f                 131 src/AllocationBoundsInference.cpp             Function f = iter->second;
f                 132 src/AllocationBoundsInference.cpp             if (f.has_extern_definition()) {
f                 133 src/AllocationBoundsInference.cpp                 touched_by_extern.insert(f.name());
f                 134 src/AllocationBoundsInference.cpp                 for (size_t i = 0; i < f.extern_arguments().size(); i++) {
f                 135 src/AllocationBoundsInference.cpp                     ExternFuncArgument arg = f.extern_arguments()[i];
f                  86 src/Associativity.cpp     ConvertSelfRef(const string &f, const vector<Expr> &args, int idx,
f                  88 src/Associativity.cpp         func(f), args(args), value_index(idx), op_x_names(x_names) {}
f                 308 src/Associativity.cpp AssociativeOp prove_associativity(const string &f, vector<Expr> args, vector<Expr> exprs) {
f                 337 src/Associativity.cpp         ConvertSelfRef csr(f, args, idx, op_x_names);
f                 446 src/Associativity.cpp std::string print_args(const string &f, const vector<Expr> &args, const vector<Expr> &exprs) {
f                 448 src/Associativity.cpp     stream << f << "(";
f                 472 src/Associativity.cpp void check_associativity(const string &f, vector<Expr> args, vector<Expr> exprs,
f                 474 src/Associativity.cpp     auto result = prove_associativity(f, args, exprs);
f                 476 src/Associativity.cpp         << "Checking associativity: " << print_args(f, args, exprs) << "\n"
f                 483 src/Associativity.cpp                 << "Checking associativity: " << print_args(f, args, exprs) << "\n"
f                 488 src/Associativity.cpp                 << "Checking associativity: " << print_args(f, args, exprs) << "\n"
f                 493 src/Associativity.cpp                 << "Checking associativity: " << print_args(f, args, exprs) << "\n"
f                 508 src/Associativity.cpp                 << "Checking associativity: " << print_args(f, args, exprs) << "\n"
f                  96 src/Associativity.h     const std::string &f, std::vector<Expr> args, std::vector<Expr> exprs);
f                1423 src/Bounds.cpp         Function f = env.find(order[i])->second;
f                1424 src/Bounds.cpp         const vector<string> f_args = f.args();
f                1425 src/Bounds.cpp         for (int j = 0; j < f.outputs(); j++) {
f                1426 src/Bounds.cpp             pair<string, int> key = { f.name(), j };
f                1430 src/Bounds.cpp             if (f.is_pure()) {
f                1434 src/Bounds.cpp                 for (size_t k = 0; k < f.args().size(); k++) {
f                1438 src/Bounds.cpp                 result = compute_pure_function_definition_value_bounds(f.definition(), arg_scope, fb, j);
f                 635 src/BoundsInference.cpp     BoundsInference(const vector<Function> &f,
f                 639 src/BoundsInference.cpp         funcs(f), func_bounds(fb), target(target) {
f                 640 src/BoundsInference.cpp         internal_assert(!f.empty());
f                 646 src/BoundsInference.cpp         vector<bool> inlined(f.size());
f                 648 src/BoundsInference.cpp             if (i < f.size() - 1 &&
f                 649 src/BoundsInference.cpp                 f[i].schedule().compute_level().is_inline() &&
f                 650 src/BoundsInference.cpp                 f[i].can_be_inlined()) {
f                 660 src/BoundsInference.cpp         for (size_t i = 0; i < f.size(); i++) {
f                 665 src/BoundsInference.cpp             s.func = f[i];
f                 672 src/BoundsInference.cpp             for (size_t j = 0; j < f[i].updates().size(); j++) {
f                 682 src/BoundsInference.cpp         for (size_t i = f.size(); i > 0; i--) {
f                 683 src/BoundsInference.cpp             Function func = f[i-1];
f                 735 src/BoundsInference.cpp                         Function f(args[j].func);
f                 736 src/BoundsInference.cpp                         string stage_name = f.name() + ".s" + std::to_string(f.updates().size());
f                 737 src/BoundsInference.cpp                         Box b(f.dimensions());
f                 738 src/BoundsInference.cpp                         for (int d = 0; d < f.dimensions(); d++) {
f                 739 src/BoundsInference.cpp                             string buf_name = f.name() + ".o0.bounds_query." + consumer.name;
f                 747 src/BoundsInference.cpp                         merge_boxes(boxes[f.name()], b);
f                 866 src/BoundsInference.cpp         Function f;
f                 871 src/BoundsInference.cpp                 f = stages[i].func;
f                 884 src/BoundsInference.cpp             internal_assert((int)box.size() == f.dimensions());
f                 917 src/BoundsInference.cpp                 const vector<string> f_args = f.args();
f                 477 src/CodeGen_C.cpp     for (const auto &f : input.functions()) {
f                 478 src/CodeGen_C.cpp         compile(f);
f                 482 src/CodeGen_C.cpp void CodeGen_C::compile(const LoweredFunc &f) {
f                 484 src/CodeGen_C.cpp     if (is_header() && f.linkage == LoweredFunc::Internal) {
f                 488 src/CodeGen_C.cpp     emitted.insert(f.name);
f                 490 src/CodeGen_C.cpp     const std::vector<LoweredArgument> &args = f.args;
f                 525 src/CodeGen_C.cpp         f.body.accept(&e);
f                 538 src/CodeGen_C.cpp     NameMangling name_mangling = f.name_mangling;
f                 548 src/CodeGen_C.cpp     std::string simple_name = extract_namespaces(f.name, namespaces);
f                 564 src/CodeGen_C.cpp     if (f.linkage == LoweredFunc::Internal) {
f                 589 src/CodeGen_C.cpp         print(f.body);
f                 599 src/CodeGen_C.cpp     if (is_header() && f.linkage == LoweredFunc::ExternalPlusMetadata) {
f                 136 src/CodeGen_GPU_Host.cpp void CodeGen_GPU_Host<CodeGen_CPU>::compile_func(const LoweredFunc &f,
f                 147 src/CodeGen_GPU_Host.cpp     CodeGen_CPU::compile_func(f, simple_name, extern_name);
f                 192 src/CodeGen_GPU_Host.cpp         if (f.args[0].name == "__user_context") {
f                 180 src/CodeGen_Hexagon.cpp void CodeGen_Hexagon::compile_func(const LoweredFunc &f,
f                 182 src/CodeGen_Hexagon.cpp     CodeGen_Posix::begin_func(f.linkage, simple_name, extern_name, f.args);
f                 184 src/CodeGen_Hexagon.cpp     Stmt body = f.body;
f                 231 src/CodeGen_Hexagon.cpp     CodeGen_Posix::end_func(f.args);
f                  22 src/CodeGen_Hexagon.h     void compile_func(const LoweredFunc &f,
f                 477 src/CodeGen_LLVM.cpp MangledNames get_mangled_names(const LoweredFunc &f, const Target &target) {
f                 478 src/CodeGen_LLVM.cpp     return get_mangled_names(f.name, f.linkage, f.name_mangling, f.args, target);
f                 529 src/CodeGen_LLVM.cpp     for (const auto &f : input.functions()) {
f                 530 src/CodeGen_LLVM.cpp         const auto names = get_mangled_names(f, get_target());
f                 532 src/CodeGen_LLVM.cpp         compile_func(f, names.simple_name, names.extern_name);
f                 536 src/CodeGen_LLVM.cpp         if (f.linkage == LoweredFunc::ExternalPlusMetadata) {
f                 538 src/CodeGen_LLVM.cpp             llvm::Function *metadata_getter = embed_metadata_getter(names.metadata_name, names.simple_name, f.args);
f                 662 src/CodeGen_LLVM.cpp void CodeGen_LLVM::compile_func(const LoweredFunc &f, const std::string &simple_name,
f                 665 src/CodeGen_LLVM.cpp     begin_func(f.linkage, simple_name, extern_name, f.args);
f                 669 src/CodeGen_LLVM.cpp     if (f.linkage != LoweredFunc::Internal &&
f                 676 src/CodeGen_LLVM.cpp         for (const auto &arg : f.args) {
f                 684 src/CodeGen_LLVM.cpp     debug(1) << "Generating llvm bitcode for function " << f.name << "...\n";
f                 685 src/CodeGen_LLVM.cpp     f.body.accept(this);
f                 688 src/CodeGen_LLVM.cpp     end_func(f.args);
f                2464 src/CodeGen_LLVM.cpp         llvm::Function *f = module->getFunction(fn->value);
f                2465 src/CodeGen_LLVM.cpp         if (!f) {
f                2468 src/CodeGen_LLVM.cpp             f = llvm::Function::Create(func_t, llvm::Function::ExternalLinkage, fn->value, module.get());
f                2469 src/CodeGen_LLVM.cpp             f->setCallingConv(CallingConv::C);
f                2471 src/CodeGen_LLVM.cpp         register_destructor(f, codegen(arg), Always);
f                 217 src/CodeGen_PTX_Dev.cpp void CodeGen_PTX_Dev::visit(const Free *f) {
f                 218 src/CodeGen_PTX_Dev.cpp     sym_pop(f->name);
f                  25 src/DebugToFile.cpp             Function f = iter->second;
f                  32 src/DebugToFile.cpp             args.push_back(f.debug_file());
f                  70 src/DebugToFile.cpp             Expr buf = Variable::make(Handle(), f.name() + ".buffer");
f                  78 src/DebugToFile.cpp                                                     {f.name(), f.debug_file(), call_result_var},
f                 100 src/DebugToFile.cpp         for (Function f : outputs) {
f                 101 src/DebugToFile.cpp             if (op->name == f.name()) {
f                  39 src/DeviceInterface.cpp         std::map<std::string, JITModule::Symbol>::const_iterator f =
f                  41 src/DeviceInterface.cpp         if (f != runtime[i].exports().end()) {
f                  42 src/DeviceInterface.cpp             result = reinterpret_bits<fn_type>(f->second.address);
f                  76 src/Error.h        EXPORT ErrorReport(const char *f, int l, const char *cs, int flags);
f                  19 src/FindCalls.cpp     void include_function(Function f) {
f                  20 src/FindCalls.cpp         map<string, Function>::iterator iter = calls.find(f.name());
f                  22 src/FindCalls.cpp             calls[f.name()] = f;
f                  24 src/FindCalls.cpp             user_assert(iter->second.same_as(f))
f                  26 src/FindCalls.cpp                 << f.name() << "\n";
f                  34 src/FindCalls.cpp             Function f(call->func);
f                  35 src/FindCalls.cpp             include_function(f);
f                  41 src/FindCalls.cpp void populate_environment(Function f, map<string, Function> &env, bool recursive = true) {
f                  42 src/FindCalls.cpp     map<string, Function>::const_iterator iter = env.find(f.name());
f                  44 src/FindCalls.cpp         user_assert(iter->second.same_as(f))
f                  46 src/FindCalls.cpp             << f.name() << "\n";
f                  51 src/FindCalls.cpp     f.accept(&calls);
f                  52 src/FindCalls.cpp     if (f.has_extern_definition()) {
f                  53 src/FindCalls.cpp         for (ExternFuncArgument arg : f.extern_arguments()) {
f                  64 src/FindCalls.cpp         env[f.name()] = f;
f                  72 src/FindCalls.cpp map<string, Function> find_transitive_calls(Function f) {
f                  74 src/FindCalls.cpp     populate_environment(f, res, true);
f                  78 src/FindCalls.cpp map<string, Function> find_direct_calls(Function f) {
f                  80 src/FindCalls.cpp     populate_environment(f, res, false);
f                  22 src/FindCalls.h std::map<std::string, Function> find_direct_calls(Function f);
f                  29 src/FindCalls.h std::map<std::string, Function> find_transitive_calls(Function f);
f                  55 src/Func.cpp   Func::Func(Function f) : func(f) {}
f                1735 src/Func.cpp   Stage &Stage::prefetch(const Func &f, VarOrRVar var, Expr offset, PrefetchBoundStrategy strategy) {
f                1736 src/Func.cpp       PrefetchDirective prefetch = {f.name(), var.name(), offset, strategy, Parameter()};
f                1753 src/Func.cpp   Func Func::in(const Func &f) {
f                1755 src/Func.cpp       user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n";
f                1757 src/Func.cpp       const auto &iter = wrappers.find(f.name());
f                1759 src/Func.cpp           Func wrapper(name() + "_in_" + f.name());
f                1761 src/Func.cpp           func.add_wrapper(f.name(), wrapper.func);
f                1770 src/Func.cpp           if (it.first == f.name()) {
f                1775 src/Func.cpp               << Function(wrapper_contents).name() << "] in " << f.name() << " is not allowed\n";
f                1802 src/Func.cpp           for (const Func &f : fs) {
f                1803 src/Func.cpp               user_assert(name() != f.name()) << "Cannot call 'in()' on itself\n";
f                1804 src/Func.cpp               func.add_wrapper(f.name(), wrapper.func);
f                1819 src/Func.cpp               fs.begin(), fs.end(), [&it](const Func& f) { return f.name() == it.first; });
f                2218 src/Func.cpp   Func &Func::prefetch(const Func &f, VarOrRVar var, Expr offset, PrefetchBoundStrategy strategy) {
f                2220 src/Func.cpp       Stage(func.definition(), name(), args(), func.schedule().storage_dims()).prefetch(f, var, offset, strategy);
f                2309 src/Func.cpp   Func &Func::compute_at(Func f, RVar var) {
f                2310 src/Func.cpp       return compute_at(LoopLevel(f, var));
f                2313 src/Func.cpp   Func &Func::compute_at(Func f, Var var) {
f                2314 src/Func.cpp       return compute_at(LoopLevel(f, var));
f                2327 src/Func.cpp   Func &Func::store_at(Func f, RVar var) {
f                2328 src/Func.cpp       return store_at(LoopLevel(f, var));
f                2331 src/Func.cpp   Func &Func::store_at(Func f, Var var) {
f                2332 src/Func.cpp       return store_at(LoopLevel(f, var));
f                2403 src/Func.cpp   FuncRef::FuncRef(Internal::Function f, const vector<Expr> &a, int placeholder_pos,
f                2404 src/Func.cpp                    int count) : func(f), implicit_count(count), args(a){
f                2406 src/Func.cpp       Internal::check_call_arg_types(f.name(), &args, args.size());
f                2409 src/Func.cpp   FuncRef::FuncRef(Internal::Function f, const vector<Var> &a, int placeholder_pos,
f                2410 src/Func.cpp                    int count) : func(f), implicit_count(count) {
f                2524 src/Func.cpp       Func f(func);
f                2526 src/Func.cpp       if (func.has_pure_definition()) return f;
f                2540 src/Func.cpp       f(pure_args) = e;
f                2541 src/Func.cpp       return f;
f                 288 src/Func.h         EXPORT Stage &prefetch(const Func &f, VarOrRVar var, Expr offset = 1,
f                 534 src/Func.h         EXPORT explicit Func(Internal::Function f);
f                1088 src/Func.h         EXPORT Func in(const Func &f);
f                1578 src/Func.h         EXPORT Func &prefetch(const Func &f, VarOrRVar var, Expr offset = 1,
f                1728 src/Func.h         EXPORT Func &compute_at(Func f, Var var);
f                1733 src/Func.h         EXPORT Func &compute_at(Func f, RVar var);
f                1876 src/Func.h         EXPORT Func &store_at(Func f, Var var);
f                1881 src/Func.h         EXPORT Func &store_at(Func f, RVar var);
f                2012 src/Func.h         Func f;
f                2013 src/Func.h         f() = e;
f                2014 src/Func.h         Buffer<T> im = f.realize();
f                2023 src/Func.h         Func f;
f                2024 src/Func.h         f() = t;
f                2025 src/Func.h         Realization r = f.realize();
f                2032 src/Func.h     inline void schedule_scalar(Func f) {
f                2035 src/Func.h             f.gpu_single_thread();
f                2038 src/Func.h             f.hexagon();
f                2055 src/Func.h         Func f;
f                2056 src/Func.h         f() = e;
f                2057 src/Func.h         Internal::schedule_scalar(f);
f                2058 src/Func.h         Buffer<T> im = f.realize();
f                2069 src/Func.h         Func f;
f                2070 src/Func.h         f() = t;
f                2071 src/Func.h         Internal::schedule_scalar(f);
f                2072 src/Func.h         Realization r = f.realize();
f                 113 src/Function.cpp EXPORT RefCount &ref_count<FunctionContents>(const FunctionContents *f) {
f                 114 src/Function.cpp     return f->ref_count;
f                 118 src/Function.cpp EXPORT void destroy<FunctionContents>(const FunctionContents *f) {
f                 119 src/Function.cpp     delete f;
f                 231 src/Function.cpp             Function f(op->func);
f                 232 src/Function.cpp             f.freeze();
f                 236 src/Function.cpp     FreezeFunctions(const string &f) : func(f) {}
f                 884 src/Function.cpp void Function::add_wrapper(const std::string &f, Function &wrapper) {
f                 886 src/Function.cpp     contents->init_def.schedule().add_wrapper(f, wrapper.contents);
f                  34 src/Function.h     ExternFuncArgument(Internal::IntrusivePtr<Internal::FunctionContents> f): arg_type(FuncArg), func(f) {}
f                 269 src/Function.h     EXPORT void add_wrapper(const std::string &f, Function &wrapper);
f                 606 src/FuseGPUThreadLoops.cpp             ReplaceForWithIf f(block_size);
f                 607 src/FuseGPUThreadLoops.cpp             body = f.mutate(body);
f                 169 src/Generator.cpp     Func f = Func(name + "_im");
f                 170 src/Generator.cpp     f(args) = Internal::Call::make(p, args_expr);
f                 171 src/Generator.cpp     return f;
f                1207 src/Generator.cpp             Func f = output->funcs().at(0);
f                1208 src/Generator.cpp             user_assert(f.defined()) << "Output " << n << " was not defined.\n";
f                1209 src/Generator.cpp             return f;
f                1223 src/Generator.cpp             for (const auto &f : output->funcs()) {
f                1224 src/Generator.cpp                 user_assert(f.defined()) << "Output " << n << " was not fully defined.\n";
f                1384 src/Generator.cpp             for (const auto &f : output->funcs()) {
f                1385 src/Generator.cpp                 user_assert(f.defined()) << "Output \"" << f.name() << "\" was not defined.\n";
f                1387 src/Generator.cpp                     user_assert(f.dimensions() == output->dimensions()) << "Output \"" << f.name() 
f                1389 src/Generator.cpp                         << " but was defined as dimensions=" << f.dimensions() << ".\n";
f                1392 src/Generator.cpp                     user_assert((int)f.outputs() == (int)output->types().size()) << "Output \"" << f.name() 
f                1394 src/Generator.cpp                             << " but was defined as Tuple of size " << f.outputs() << ".\n";
f                1395 src/Generator.cpp                     for (size_t i = 0; i < f.output_types().size(); ++i) {
f                1397 src/Generator.cpp                         Type actual = f.output_types()[i];
f                1398 src/Generator.cpp                         user_assert(expected == actual) << "Output \"" << f.name() 
f                1403 src/Generator.cpp                 funcs.push_back(f);
f                1547 src/Generator.cpp         for (const Func &f : funcs()) {
f                1548 src/Generator.cpp             user_assert(f.defined()) << "Input/Output " << name() << " is not defined.\n";
f                1549 src/Generator.cpp             user_assert(f.dimensions() == dimensions()) 
f                1551 src/Generator.cpp                 << " but got " << f.dimensions()
f                1553 src/Generator.cpp             user_assert(f.outputs() == 1)
f                1555 src/Generator.cpp                 << " but got " << f.outputs()
f                1557 src/Generator.cpp             user_assert(f.output_types().size() == 1)
f                1559 src/Generator.cpp                 << " but got " << f.outputs()
f                1561 src/Generator.cpp             user_assert(f.output_types()[0] == type()) 
f                1563 src/Generator.cpp                 << " but got " << f.output_types()[0] 
f                1687 src/Generator.cpp             auto f = in.func();
f                1688 src/Generator.cpp             check_matching_type_and_dim(f.output_types(), f.dimensions());
f                1689 src/Generator.cpp             funcs_.push_back(f);
f                1690 src/Generator.cpp             parameters_.emplace_back(f.output_types().at(0), true, f.dimensions(), array_name(i), true, false);
f                1699 src/Generator.cpp                 Func f(name() + "_im");
f                1700 src/Generator.cpp                 f(_) = b(_);
f                1701 src/Generator.cpp                 funcs_.push_back(f);
f                1970 src/Generator.cpp         const float f = 2.25f;
f                1987 src/Generator.cpp         tester.set_inputs(i, f, b, a, fn_typed, fn_untyped, fn_array, buf_typed, buf_untyped);
f                2017 src/Generator.cpp     Func f, g;
f                2018 src/Generator.cpp     f(x, y) = x + y;
f                2019 src/Generator.cpp     g(x, y) = f(gp, gp);                            // check Func::operator() overloads
f                2020 src/Generator.cpp     g(rdom.x, rdom.y) += f(rdom.x, rdom.y);
f                2024 src/Generator.cpp     print(f(0, 0), g(1, 1), gp);
f                2025 src/Generator.cpp     print_when(true, f(0, 0), g(1, 1), gp);
f                 957 src/Generator.h     Func f;
f                 963 src/Generator.h     explicit StubOutputBufferBase(const Func &f, std::shared_ptr<GeneratorBase> generator) : f(f), generator(generator) {}
f                 969 src/Generator.h         return f.realize(sizes, get_target());
f                 975 src/Generator.h         return f.realize(std::forward<Args>(args)..., get_target());
f                 981 src/Generator.h         f.realize(dst, get_target());
f                1001 src/Generator.h     explicit StubOutputBuffer(const Func &f, std::shared_ptr<GeneratorBase> generator) : StubOutputBufferBase(f, generator) {}
f                1020 src/Generator.h     StubInput(const Func &f) : kind_(IOKind::Function), func_(f) {}
f                1868 src/Generator.h         const auto &f = stub_output_buffer.f;
f                1869 src/Generator.h         internal_assert(f.defined());
f                1871 src/Generator.h         const auto &output_types = f.output_types();
f                1875 src/Generator.h         Buffer<> other(output_types.at(0), nullptr, std::vector<int>(f.dimensions(), 1));
f                1885 src/Generator.h             user_assert(f.dimensions() == this->dimensions())
f                1886 src/Generator.h                 << "Output should have dim=" << this->dimensions() << " but saw dim=" << f.dimensions() << "\n";
f                1891 src/Generator.h         this->funcs_[0] = f;
f                1923 src/Generator.h     GeneratorOutput_Func<T> &operator=(const Func &f) {
f                1928 src/Generator.h         get_assignable_func_ref(0) = f;
f                2032 src/Generator.h     GeneratorOutput<T> &operator=(const Func &f) {
f                2033 src/Generator.h         Super::operator=(f);
f                2480 src/Generator.h             Halide::Func f(arg.name() + "_im");
f                2481 src/Generator.h             f(Halide::_) = arg(Halide::_);
f                2482 src/Generator.h             StubInput si(f);
f                2504 src/Generator.h             Halide::Func f = arg.funcs().at(0);
f                2505 src/Generator.h             StubInput si(f);
f                2518 src/Generator.h         Halide::Func f = arg;
f                2519 src/Generator.h         StubInput si(f);
f                2531 src/Generator.h         for (const auto &f : arg) {
f                2532 src/Generator.h             siv.emplace_back(f);
f                2782 src/Generator.h         std::unique_ptr<Internal::SimpleGeneratorFactory> f(new Internal::SimpleGeneratorFactory(GeneratorClass::create, generator_name));
f                2783 src/Generator.h         Internal::GeneratorRegistry::register_factory(generator_name, std::move(f));
f                2888 src/Generator.h     static std::vector<StubInput> to_stub_input_vector(const Func &f) {
f                2889 src/Generator.h         return { StubInput(f) };
f                2909 src/Generator.h         verify_same_funcs(a.f, b.f);
f                 916 src/HexagonOffload.cpp             std::ofstream f(input.pathname());
f                 917 src/HexagonOffload.cpp             f.write(shared_object.data(), shared_object.size());
f                 918 src/HexagonOffload.cpp             f.flush();
f                 919 src/HexagonOffload.cpp             internal_assert(f.good());
f                 920 src/HexagonOffload.cpp             f.close();
f                 928 src/HexagonOffload.cpp             std::ifstream f(output.pathname());
f                 929 src/HexagonOffload.cpp             f.seekg(0, std::ifstream::end);
f                 930 src/HexagonOffload.cpp             size_t signed_size = f.tellg();
f                 932 src/HexagonOffload.cpp             f.seekg(0, std::ifstream::beg);
f                 933 src/HexagonOffload.cpp             f.read(shared_object.data(), shared_object.size());
f                 934 src/HexagonOffload.cpp             internal_assert(f.good());
f                 935 src/HexagonOffload.cpp             f.close();
f                 105 src/IRMutator.cpp     Expr f = mutate(op->false_value);
f                 108 src/IRMutator.cpp         f.same_as(op->false_value)) {
f                 111 src/IRMutator.cpp         expr = Select::make(cond, t, f);
f                 121 src/IROperator.cpp     } else if (const FloatImm *f = e.as<FloatImm>()) {
f                 122 src/IROperator.cpp         return &(f->value);
f                 160 src/IROperator.cpp     if (const FloatImm *f = e.as<FloatImm>()) return f->value > 0.0f;
f                 176 src/IROperator.cpp     if (const FloatImm *f = e.as<FloatImm>()) return f->value < 0.0f;
f                 194 src/IROperator.cpp     if (const FloatImm *f = e.as<FloatImm>()) return f->value < 0.0f;
f                 353 src/IROperator.cpp     if (const FloatImm *f = e.as<FloatImm>()) {
f                 354 src/IROperator.cpp         if (t.can_represent(f->value)) {
f                 355 src/IROperator.cpp             return make_const(t, f->value);
f                 221 src/IROperator.h     if (const double *f = as_const_float(a)) {
f                 222 src/IROperator.h         return Internal::make_const(t, *f);
f                  62 src/IRPrinter.cpp     for (const auto &f : m.functions()) {
f                  63 src/IRPrinter.cpp         stream << f << "\n";
f                 134 src/IRVisitor.cpp         Function f(op->func);
f                 135 src/IRVisitor.cpp         if (op->call_type == Call::Halide && f.has_extern_definition()) {
f                 136 src/IRVisitor.cpp             for (size_t i = 0; i < f.extern_arguments().size(); i++) {
f                 137 src/IRVisitor.cpp                 ExternFuncArgument arg = f.extern_arguments()[i];
f                  62 src/ImageParam.cpp Func ImageParam::in(const Func &f) {
f                  64 src/ImageParam.cpp     return func.in(f);
f                 120 src/ImageParam.h     EXPORT Func in(const Func &f);
f                  24 src/InferArguments.cpp         for (const Function &f : outputs) {
f                  25 src/InferArguments.cpp             visit_function(f);
f                 759 src/InjectHostDevBufferCopies.cpp     FindBuffersToTrack f(t);
f                 760 src/InjectHostDevBufferCopies.cpp     s.accept(&f);
f                 763 src/InjectHostDevBufferCopies.cpp     for (const std::string &i : f.buffers_to_track) {
f                 767 src/InjectHostDevBufferCopies.cpp     return InjectBufferCopies(f.buffers_to_track, t).mutate(s);
f                  18 src/Inline.cpp void validate_schedule_inlined_function(Function f) {
f                  19 src/Inline.cpp     const Schedule &s = f.schedule();
f                  22 src/Inline.cpp         user_error << "Function " << f.name() << " is scheduled to be computed inline, "
f                  28 src/Inline.cpp     user_assert(f.definition().specializations().empty())
f                  29 src/Inline.cpp         << "Function " << f.name() << " is scheduled inline, so it"
f                  35 src/Inline.cpp                    << f.name() << " because the function is scheduled inline.\n";
f                  43 src/Inline.cpp                        << f.name() << " because the function is scheduled inline.\n";
f                  47 src/Inline.cpp                        << f.name() << " because the function is scheduled inline.\n";
f                  51 src/Inline.cpp                        << f.name() << " because the function is scheduled inline.\n";
f                  59 src/Inline.cpp                          << f.name() << " to " << s.splits()[i].outer
f                  60 src/Inline.cpp                          << " because " << f.name() << " is scheduled inline.\n";
f                  64 src/Inline.cpp                          << " because " << f.name() << " is scheduled inline.\n";
f                  68 src/Inline.cpp                          << f.name() << " into "
f                  72 src/Inline.cpp                          << f.name() << " is scheduled inline.\n";
f                  80 src/Inline.cpp                          << f.name() << " to be within ["
f                  86 src/Inline.cpp                          << f.name() << " to have modulus/remainder ["
f                 143 src/Inline.cpp     Inliner(Function f) : func(f), found(false) {
f                 144 src/Inline.cpp         internal_assert(f.can_be_inlined()) << "Illegal to inline " << f.name() << "\n";
f                 145 src/Inline.cpp         validate_schedule_inlined_function(f);
f                 150 src/Inline.cpp Stmt inline_function(Stmt s, Function f) {
f                 151 src/Inline.cpp     Inliner i(f);
f                 156 src/Inline.cpp Expr inline_function(Expr e, Function f) {
f                 157 src/Inline.cpp     Inliner i(f);
f                  23 src/Inline.h   void validate_schedule_inlined_function(Function f);
f                 114 src/InlineReductions.cpp     Func f(name);
f                 115 src/InlineReductions.cpp     f(v.free_vars) += e;
f                 116 src/InlineReductions.cpp     return f(v.call_args);
f                 129 src/InlineReductions.cpp     Func f(name);
f                 130 src/InlineReductions.cpp     f(v.free_vars) *= e;
f                 131 src/InlineReductions.cpp     return f(v.call_args);
f                 144 src/InlineReductions.cpp     Func f(name);
f                 145 src/InlineReductions.cpp     f(v.free_vars) = e.type().min();
f                 146 src/InlineReductions.cpp     f(v.free_vars) = max(f(v.free_vars), e);
f                 147 src/InlineReductions.cpp     return f(v.call_args);
f                 160 src/InlineReductions.cpp     Func f(name);
f                 161 src/InlineReductions.cpp     f(v.free_vars) = e.type().max();
f                 162 src/InlineReductions.cpp     f(v.free_vars) = min(f(v.free_vars), e);
f                 163 src/InlineReductions.cpp     return f(v.call_args);
f                 174 src/InlineReductions.cpp     Func f(name);
f                 188 src/InlineReductions.cpp     f(v.free_vars) = initial_tup;
f                 189 src/InlineReductions.cpp     Expr better = e > f(v.free_vars)[value_index];
f                 190 src/InlineReductions.cpp     Tuple update = tuple_select(better, update_tup, f(v.free_vars));
f                 191 src/InlineReductions.cpp     f(v.free_vars) = update;
f                 192 src/InlineReductions.cpp     return f(v.call_args);
f                 203 src/InlineReductions.cpp     Func f(name);
f                 217 src/InlineReductions.cpp     f(v.free_vars) = initial_tup;
f                 218 src/InlineReductions.cpp     Expr better = e < f(v.free_vars)[value_index];
f                 219 src/InlineReductions.cpp     f(v.free_vars) = tuple_select(better, update_tup, f(v.free_vars));
f                 220 src/InlineReductions.cpp     return f(v.call_args);
f                  47 src/Introspection.cpp         FieldFormat(uint64_t n, uint64_t f) : name(n), form(f) {}
f                 241 src/Introspection.cpp             FunctionInfo &f = functions[i];
f                 242 src/Introspection.cpp             f.pc_begin += pc_adjust;
f                 243 src/Introspection.cpp             f.pc_end += pc_adjust;
f                 244 src/Introspection.cpp             for (size_t j = 0; j < f.variables.size(); j++) {
f                 245 src/Introspection.cpp                 LocalVariable &v = f.variables[j];
f                 748 src/Introspection.cpp             FunctionInfo *f = find_containing_function((void *)address);
f                 752 src/Introspection.cpp             if (!f) {
f                 757 src/Introspection.cpp             debug(5) << "Containing function is " << f->name << "\n";
f                 760 src/Introspection.cpp             if (f->name.size() > 8 &&
f                 761 src/Introspection.cpp                 f->name.substr(0, 8) == "Halide::") {
f                 817 src/Introspection.cpp             const FunctionInfo &f = functions[i];
f                 819 src/Introspection.cpp                    f.name.c_str(),
f                 820 src/Introspection.cpp                    (unsigned long long)(f.pc_begin),
f                 821 src/Introspection.cpp                    (unsigned long long)(f.pc_end),
f                 822 src/Introspection.cpp                    (int)f.frame_base);
f                 823 src/Introspection.cpp             for (size_t j = 0; j < f.variables.size(); j++) {
f                 824 src/Introspection.cpp                 const LocalVariable &v = f.variables[j];
f                1087 src/Introspection.cpp                         const FunctionInfo &f = func_stack.back().first;
f                1088 src/Introspection.cpp                         functions.push_back(f);
f                1814 src/Introspection.cpp                 FunctionInfo &f = functions[i];
f                1815 src/Introspection.cpp                 if (!f.pc_begin ||
f                1816 src/Introspection.cpp                     !f.pc_end ||
f                1817 src/Introspection.cpp                     f.name.empty()) {
f                1823 src/Introspection.cpp                 for (size_t j = 0; j < f.variables.size(); j++) {
f                1824 src/Introspection.cpp                     LocalVariable &v = f.variables[j];
f                1831 src/Introspection.cpp                 f.variables.clear();
f                1832 src/Introspection.cpp                 trimmed.push_back(f);
f                 123 src/Introspection.h static bool test(bool (*f)(const void *, const std::string &)) {
f                 127 src/Introspection.h     return f(&a1, "a1") && f(&a2, "a2");
f                 147 src/JITModule.cpp EXPORT RefCount &ref_count<JITModuleContents>(const JITModuleContents *f) { return f->ref_count; }
f                 150 src/JITModule.cpp EXPORT void destroy<JITModuleContents>(const JITModuleContents *f) { delete f; }
f                 158 src/JITModule.cpp     void *f = (void *)ee.getFunctionAddress(name);
f                 159 src/JITModule.cpp     if (!f) {
f                 163 src/JITModule.cpp     JITModule::Symbol symbol(f, fn->getFunctionType());
f                 165 src/JITModule.cpp     debug(2) << "Function " << name << " is at " << f << "\n";
f                 453 src/JITModule.cpp     std::map<std::string, Symbol>::const_iterator f =
f                 455 src/JITModule.cpp     if (f != exports().end()) {
f                 456 src/JITModule.cpp         return (reinterpret_bits<void (*)(int64_t)>(f->second.address))(size);
f                 531 src/JITModule.cpp int do_task_handler(void *context, halide_task f, int idx,
f                 535 src/JITModule.cpp         return (*jit_user_context->handlers.custom_do_task)(context, f, idx, closure);
f                 537 src/JITModule.cpp         return (*active_handlers.custom_do_task)(context, f, idx, closure);
f                 541 src/JITModule.cpp int do_par_for_handler(void *context, halide_task f,
f                 545 src/JITModule.cpp         return (*jit_user_context->handlers.custom_do_par_for)(context, f, min, size, closure);
f                 547 src/JITModule.cpp         return (*active_handlers.custom_do_par_for)(context, f, min, size, closure);
f                 699 src/JITModule.cpp         for (auto &f : *module) {
f                 701 src/JITModule.cpp             if (f.hasWeakLinkage()) {
f                 702 src/JITModule.cpp                 halide_exports_unique.insert(f.getName());
f                 465 src/LLVM_Runtime_Linker.cpp     for (auto &f : *modules[0]) {
f                 468 src/LLVM_Runtime_Linker.cpp             if (f.getName() == r) {
f                 473 src/LLVM_Runtime_Linker.cpp         bool is_halide_extern_c_sym = Internal::starts_with(f.getName(), "halide_");
f                 474 src/LLVM_Runtime_Linker.cpp         internal_assert(t.os == Target::NoOS || !is_halide_extern_c_sym || f.isWeakForLinker() || f.isDeclaration())
f                 475 src/LLVM_Runtime_Linker.cpp             << " for function " << (std::string)f.getName() << "\n";
f                 478 src/LLVM_Runtime_Linker.cpp         llvm::GlobalValue::LinkageTypes linkage = f.getLinkage();
f                 481 src/LLVM_Runtime_Linker.cpp                 f.setLinkage(llvm::GlobalValue::LinkOnceAnyLinkage);
f                 483 src/LLVM_Runtime_Linker.cpp                 f.setLinkage(llvm::GlobalValue::LinkOnceODRLinkage);
f                 517 src/LLVM_Runtime_Linker.cpp         llvm::Function &f = *iter;
f                 518 src/LLVM_Runtime_Linker.cpp         string n = f.getName();
f                 520 src/LLVM_Runtime_Linker.cpp         if (f.getCallingConv() == llvm::CallingConv::X86_StdCall &&
f                 521 src/LLVM_Runtime_Linker.cpp             f.empty() &&
f                 530 src/LLVM_Runtime_Linker.cpp             llvm::Function *unmangled = llvm::Function::Create(f.getFunctionType(), f.getLinkage(), unmangled_name, m);
f                 531 src/LLVM_Runtime_Linker.cpp             unmangled->setCallingConv(f.getCallingConv());
f                 534 src/LLVM_Runtime_Linker.cpp             llvm::BasicBlock *block = llvm::BasicBlock::Create(m->getContext(), "entry", &f);
f                 538 src/LLVM_Runtime_Linker.cpp             for (auto &arg : f.args()) {
f                 543 src/LLVM_Runtime_Linker.cpp             c->setCallingConv(f.getCallingConv());
f                 545 src/LLVM_Runtime_Linker.cpp             if (f.getReturnType()->isVoidTy()) {
f                 924 src/LLVM_Runtime_Linker.cpp         llvm::Function &f = *iter;
f                 937 src/LLVM_Runtime_Linker.cpp         if (!f.isDeclaration() && !f.hasFnAttribute(llvm::Attribute::NoInline)) {
f                 938 src/LLVM_Runtime_Linker.cpp             f.setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
f                 942 src/LLVM_Runtime_Linker.cpp         if (f.getName() == "halide_gpu_thread_barrier") {
f                 943 src/LLVM_Runtime_Linker.cpp             f.addFnAttr(llvm::Attribute::NoDuplicate);
f                  18 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  19 src/Lambda.h       f(_) = e;
f                  20 src/Lambda.h       return f;
f                  28 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  29 src/Lambda.h       f(x) = e;
f                  30 src/Lambda.h       return f;
f                  38 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  39 src/Lambda.h       f(x, y) = e;
f                  40 src/Lambda.h       return f;
f                  48 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  49 src/Lambda.h       f(x, y, z) = e;
f                  50 src/Lambda.h       return f;
f                  58 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  59 src/Lambda.h       f(x, y, z, w) = e;
f                  60 src/Lambda.h       return f;
f                  68 src/Lambda.h       Func f("lambda" + Internal::unique_name('_'));
f                  69 src/Lambda.h       f(x, y, z, w, v) = e;
f                  70 src/Lambda.h       return f;
f                  85 src/Lower.cpp      for (Function f : output_funcs) {
f                  86 src/Lower.cpp          map<string, Function> more_funcs = find_transitive_calls(f);
f                  95 src/Lower.cpp      for (Function f: outputs) {
f                  96 src/Lower.cpp          Func(f).compute_root().store_root();
f                 100 src/Lower.cpp      for (auto &f : env) {
f                 101 src/Lower.cpp          f.second.substitute_schedule_param_exprs();
f                 326 src/Memoization.cpp             const Function f(iter->second);
f                 329 src/Memoization.cpp                 if (f.same_as(o)) {
f                 330 src/Memoization.cpp                     user_error << "Function " << f.name() << " cannot be memoized because "
f                 341 src/Memoization.cpp             if (!f.schedule().compute_level().match(f.schedule().store_level())) {
f                 342 src/Memoization.cpp                 user_error << "Function " << f.name() << " cannot be memoized because "
f                 348 src/Memoization.cpp             KeyInfo key_info(f, top_level_name);
f                 363 src/Memoization.cpp                                               key_info.generate_lookup(cache_key_name, computed_bounds_name, f.outputs(), op->name),
f                 368 src/Memoization.cpp             builder.dimensions = f.dimensions();
f                 369 src/Memoization.cpp             std::string max_stage_num = std::to_string(f.updates().size());
f                 370 src/Memoization.cpp             for (const std::string arg : f.args()) {
f                 409 src/Memoization.cpp                 const Function f(iter->second);
f                 410 src/Memoization.cpp                 KeyInfo key_info(f, top_level_name);
f                 416 src/Memoization.cpp                     IfThenElse::make(cache_miss, key_info.store_computation(cache_key_name, computed_bounds_name, f.outputs(), op->name));
f                  31 src/Module.cpp         for (const auto &f : dir_files) {
f                  32 src/Module.cpp             debug(1) << "file_unlink: " << f << "\n";
f                  33 src/Module.cpp             file_unlink(f);
f                 120 src/Module.cpp EXPORT RefCount &ref_count<ModuleContents>(const ModuleContents *f) {
f                 121 src/Module.cpp     return f->ref_count;
f                 125 src/Module.cpp EXPORT void destroy<ModuleContents>(const ModuleContents *f) {
f                 126 src/Module.cpp     delete f;
f                 186 src/Module.cpp     for (const auto &f : functions()) {
f                 187 src/Module.cpp         if (f.name == name) {
f                 188 src/Module.cpp             return f;
f                 229 src/Module.cpp         for (const auto &f : input.functions()) {
f                 230 src/Module.cpp             output.append(f);
f                 272 src/Module.cpp     for (const auto &f : functions()) {
f                 273 src/Module.cpp         lowered_module.append(f);
f                 469 src/Module.cpp         for (auto f : must_match_features) {
f                 470 src/Module.cpp             if (target.has_feature(f) != base_target.has_feature(f)) {
f                 471 src/Module.cpp                 user_error << "All Targets must have feature " << f << " set identically for compile_multitarget.\n";
f                 593 src/Module.cpp     for (auto &f : futures) {
f                 594 src/Module.cpp         f.wait();
f                  43 src/ParallelRVar.cpp     FindLoads(const string &f) : func(f) {}
f                  93 src/ParallelRVar.cpp                           const string &f,
f                  99 src/ParallelRVar.cpp     FindLoads find(f);
f                 787 src/PartitionLoops.cpp         const For *f = body.as<For>();
f                 790 src/PartitionLoops.cpp         if (f && in_gpu_loop && !in_thread_loop) {
f                 791 src/PartitionLoops.cpp             internal_assert(!expr_uses_var(f->min, op->name) &&
f                 792 src/PartitionLoops.cpp                             !expr_uses_var(f->extent, op->name));
f                 793 src/PartitionLoops.cpp             Stmt inner = LetStmt::make(op->name, op->value, f->body);
f                 794 src/PartitionLoops.cpp             inner = For::make(f->name, f->min, f->extent, f->for_type, f->device_api, inner);
f                 932 src/PartitionLoops.cpp         const Select *f = op->false_value.as<Select>();
f                 937 src/PartitionLoops.cpp         } else if (f && equal(op->true_value, f->true_value)) {
f                 939 src/PartitionLoops.cpp             expr = mutate(select(op->condition || f->condition, op->true_value, f->false_value));
f                 137 src/Pipeline.cpp     for (Func f: outputs) {
f                 138 src/Pipeline.cpp         f.function().freeze();
f                 139 src/Pipeline.cpp         contents->outputs.push_back(f.function());
f                 145 src/Pipeline.cpp     for (Function f : contents->outputs) {
f                 146 src/Pipeline.cpp         funcs.push_back(Func(f));
f                 157 src/Pipeline.cpp     for (Function f : contents->outputs) {
f                 158 src/Pipeline.cpp         user_assert(f.has_pure_definition() || f.has_extern_definition())
f                 416 src/Pipeline.cpp     auto f = module.get_function_by_name(name);
f                 421 src/Pipeline.cpp     JITModule jit_module(module, f, make_externs_jit_module(target_arg, lowered_externs));
f                 670 src/Pipeline.cpp     for (Function f : contents->outputs) {
f                 671 src/Pipeline.cpp         for (Type t : f.output_types()) {
f                 672 src/Pipeline.cpp             OutputBufferType obt = {f, t, f.dimensions()};
f                 417 src/Pipeline.h     ExternSignature(RT (*f)(Args... args))
f                 449 src/Pipeline.h     ExternCFunction(RT (*f)(Args... args)) : ExternCFunction((void *)f, ExternSignature(f)) {}
f                 468 src/Pipeline.h     JITExtern(RT (*f)(Args... args)) : JITExtern(ExternCFunction(f)) {}
f                  23 src/Prefetch.cpp const Definition &get_stage_definition(const Function &f, int stage_num) {
f                  25 src/Prefetch.cpp         return f.definition();
f                  27 src/Prefetch.cpp     return f.update(stage_num - 1);
f                 160 src/PrintLoopNest.cpp     for (Function f : output_funcs) {
f                 161 src/PrintLoopNest.cpp         map<string, Function> more_funcs = find_transitive_calls(f);
f                 170 src/PrintLoopNest.cpp     for (Function f: outputs) {
f                 171 src/PrintLoopNest.cpp         Func(f).compute_root().store_root();
f                  57 src/RealizationOrder.cpp     for (Function f : outputs) {
f                  58 src/RealizationOrder.cpp         if (visited.find(f.name()) == visited.end()) {
f                  59 src/RealizationOrder.cpp             realization_order_dfs(f.name(), graph, visited, result_set, order);
f                  82 src/RemoveUndef.cpp         Expr f = mutate(op->false_value);
f                  89 src/RemoveUndef.cpp         if (!t.defined() && !f.defined()) {
f                  98 src/RemoveUndef.cpp             t = f;
f                  99 src/RemoveUndef.cpp             f = Expr();
f                 102 src/RemoveUndef.cpp         if (!f.defined()) {
f                 112 src/RemoveUndef.cpp             f.same_as(op->false_value)) {
f                 115 src/RemoveUndef.cpp             expr = Select::make(cond, t, f);
f                  43 src/Schedule.cpp LoopLevel::LoopLevel(Internal::Function f, VarOrRVar v) : LoopLevel(f.name(), v.name(), v.is_rvar) {}
f                  45 src/Schedule.cpp LoopLevel::LoopLevel(Func f, VarOrRVar v) : LoopLevel(f.function().name(), v.name(), v.is_rvar) {}
f                 297 src/Schedule.cpp void Schedule::add_wrapper(const std::string &f,
f                 299 src/Schedule.cpp     if (contents->wrappers.count(f)) {
f                 300 src/Schedule.cpp         if (f.empty()) {
f                 302 src/Schedule.cpp                          << f << "\"\n";
f                 304 src/Schedule.cpp             internal_error << "Wrapper redefinition in function \"" << f << "\" is not allowed\n";
f                 307 src/Schedule.cpp     contents->wrappers[f] = wrapper;
f                 114 src/Schedule.h     EXPORT LoopLevel(Internal::Function f, VarOrRVar v);
f                 115 src/Schedule.h     EXPORT LoopLevel(Func f, VarOrRVar v);
f                 334 src/Schedule.h     EXPORT void add_wrapper(const std::string &f,
f                 326 src/ScheduleFunctions.cpp Stmt build_produce(Function f, const Target &target) {
f                 328 src/ScheduleFunctions.cpp     if (f.has_extern_definition()) {
f                 333 src/ScheduleFunctions.cpp         const vector<ExternFuncArgument> &args = f.extern_arguments();
f                 335 src/ScheduleFunctions.cpp         const string &extern_name = f.extern_function_name();
f                 387 src/ScheduleFunctions.cpp         if (f.schedule().store_level() == f.schedule().compute_level()) {
f                 388 src/ScheduleFunctions.cpp             for (int j = 0; j < f.outputs(); j++) {
f                 389 src/ScheduleFunctions.cpp                 string buf_name = f.name();
f                 390 src/ScheduleFunctions.cpp                 if (f.outputs() > 1) {
f                 398 src/ScheduleFunctions.cpp                 buffers_to_annotate.push_back({buffer, f.dimensions()});
f                 403 src/ScheduleFunctions.cpp             string stride_name = f.name();
f                 404 src/ScheduleFunctions.cpp             if (f.outputs() > 1) {
f                 407 src/ScheduleFunctions.cpp             string stage_name = f.name() + ".s0.";
f                 408 src/ScheduleFunctions.cpp             const vector<string> f_args = f.args();
f                 409 src/ScheduleFunctions.cpp             for (int j = 0; j < f.outputs(); j++) {
f                 410 src/ScheduleFunctions.cpp                 string src_buf_name = f.name();
f                 411 src/ScheduleFunctions.cpp                 if (f.outputs() > 1) {
f                 424 src/ScheduleFunctions.cpp                                      {(int)sizeof(halide_dimension_t) * f.dimensions()}, Call::Intrinsic);
f                 428 src/ScheduleFunctions.cpp                 internal_assert(f.dimensions() == (int)f.args().size());
f                 429 src/ScheduleFunctions.cpp                 for (const string arg : f.args()) {
f                 441 src/ScheduleFunctions.cpp                 string buf_name = f.name() + "." + std::to_string(j) + ".tmp_buffer";
f                 445 src/ScheduleFunctions.cpp                 buffers_to_annotate.push_back({extern_call_args.back(), f.dimensions()});
f                 487 src/ScheduleFunctions.cpp         Expr e = f.make_call_to_extern_definition(extern_call_args, target);
f                 507 src/ScheduleFunctions.cpp         string prefix = f.name() + ".s0.";
f                 508 src/ScheduleFunctions.cpp         vector<string> dims = f.args();
f                 509 src/ScheduleFunctions.cpp         return build_provide_loop_nest(f.name(), prefix, dims, f.definition(), false);
f                 514 src/ScheduleFunctions.cpp vector<Stmt> build_update(Function f) {
f                 518 src/ScheduleFunctions.cpp     for (size_t i = 0; i < f.updates().size(); i++) {
f                 519 src/ScheduleFunctions.cpp         const Definition &def = f.update(i);
f                 521 src/ScheduleFunctions.cpp         string prefix = f.name() + ".s" + std::to_string(i+1) + ".";
f                 523 src/ScheduleFunctions.cpp         vector<string> dims = f.args();
f                 524 src/ScheduleFunctions.cpp         Stmt loop = build_provide_loop_nest(f.name(), prefix, dims, def, true);
f                 596 src/ScheduleFunctions.cpp     IsUsedInStmt(Function f) : func(f.name()), result(false) {
f                 601 src/ScheduleFunctions.cpp bool function_is_used_in_stmt(Function f, Stmt s) {
f                 602 src/ScheduleFunctions.cpp     IsUsedInStmt is_called(f);
f                 615 src/ScheduleFunctions.cpp     InjectRealization(const Function &f, bool o, const Target &t) :
f                 616 src/ScheduleFunctions.cpp         func(f), is_output(o),
f                 787 src/ScheduleFunctions.cpp     ComputeLegalSchedules(Function f, const map<string, Function> &env) : found(false), func(f), env(env) {}
f                 797 src/ScheduleFunctions.cpp     void visit(const For *f) {
f                 798 src/ScheduleFunctions.cpp         f->min.accept(this);
f                 799 src/ScheduleFunctions.cpp         f->extent.accept(this);
f                 800 src/ScheduleFunctions.cpp         size_t first_dot = f->name.find('.');
f                 801 src/ScheduleFunctions.cpp         size_t last_dot = f->name.rfind('.');
f                 803 src/ScheduleFunctions.cpp         string func = f->name.substr(0, first_dot);
f                 804 src/ScheduleFunctions.cpp         string var = f->name.substr(last_dot + 1);
f                 814 src/ScheduleFunctions.cpp         Site s = {f->is_parallel() ||
f                 815 src/ScheduleFunctions.cpp                   f->for_type == ForType::Vectorized,
f                 818 src/ScheduleFunctions.cpp         f->body.accept(this);
f                 860 src/ScheduleFunctions.cpp string schedule_to_source(Function f,
f                 864 src/ScheduleFunctions.cpp     ss << f.name();
f                 904 src/ScheduleFunctions.cpp     StmtUsesFunc(string f) : func(f) {}
f                 971 src/ScheduleFunctions.cpp     PrintUsesOfFunc(string f, std::ostream &s) : func(f), stream(s) {}
f                 978 src/ScheduleFunctions.cpp bool validate_schedule(Function f, Stmt s, const Target &target, bool is_output, const map<string, Function> &env) {
f                 981 src/ScheduleFunctions.cpp     if (f.has_extern_definition()) {
f                 982 src/ScheduleFunctions.cpp         for (const ExternFuncArgument &arg : f.extern_arguments()) {
f                 988 src/ScheduleFunctions.cpp                         << "because it is used in the externally-computed function " << f.name() << "\n";
f                 995 src/ScheduleFunctions.cpp     bool any_scheduled = f.schedule().touched();
f                 996 src/ScheduleFunctions.cpp     for (const Definition &r : f.updates()) {
f                1000 src/ScheduleFunctions.cpp         for (size_t i = 0; i < f.updates().size(); i++) {
f                1001 src/ScheduleFunctions.cpp             const Definition &r = f.update(i);
f                1004 src/ScheduleFunctions.cpp                              << " of function " << f.name()
f                1008 src/ScheduleFunctions.cpp                              << f.name() << ".update(" << i << ") to suppress"
f                1017 src/ScheduleFunctions.cpp     definitions.push_back(f.definition());
f                1018 src/ScheduleFunctions.cpp     for (const Definition &def : f.updates()) {
f                1032 src/ScheduleFunctions.cpp                 user_error << "Schedule for Func " << f.name()
f                1040 src/ScheduleFunctions.cpp     LoopLevel store_at = f.schedule().store_level();
f                1041 src/ScheduleFunctions.cpp     LoopLevel compute_at = f.schedule().compute_level();
f                1049 src/ScheduleFunctions.cpp             user_error << "Func " << f.name() << " is an output, so must"
f                1055 src/ScheduleFunctions.cpp     ComputeLegalSchedules legal(f, env);
f                1069 src/ScheduleFunctions.cpp         if (f.is_pure()) {
f                1070 src/ScheduleFunctions.cpp             validate_schedule_inlined_function(f);
f                1095 src/ScheduleFunctions.cpp                 err << "Func \"" << f.name()
f                1105 src/ScheduleFunctions.cpp         err << "Func \"" << f.name() << "\" is computed at the following invalid location:\n"
f                1106 src/ScheduleFunctions.cpp             << "  " << schedule_to_source(f, store_at, compute_at) << "\n"
f                1109 src/ScheduleFunctions.cpp             err << "  " << schedule_to_source(f, sites[i].loop_level, sites[i].loop_level) << "\n";
f                1111 src/ScheduleFunctions.cpp         err << "\"" << f.name() << "\" is used in the following places:\n";
f                1112 src/ScheduleFunctions.cpp         PrintUsesOfFunc printer(f.name(), err);
f                1157 src/ScheduleFunctions.cpp         Function f = env.find(order[i-1])->second;
f                1161 src/ScheduleFunctions.cpp             is_output |= o.same_as(f);
f                1164 src/ScheduleFunctions.cpp         bool necessary = validate_schedule(f, s, target, is_output, env);
f                1176 src/ScheduleFunctions.cpp         if (f.can_be_inlined() &&
f                1177 src/ScheduleFunctions.cpp             f.schedule().compute_level().is_inline()) {
f                1179 src/ScheduleFunctions.cpp             s = inline_function(s, f);
f                1182 src/ScheduleFunctions.cpp             InjectRealization injector(f, is_output, target);
f                1186 src/ScheduleFunctions.cpp         any_memoized = any_memoized || f.schedule().memoized();
f                  44 src/Simplify.cpp     const FloatImm *f = e.as<FloatImm>();
f                  45 src/Simplify.cpp     if (f && !std::isnan(f->value)) return true;
f                 266 src/Simplify.cpp     bool const_float(const Expr &e, double *f) {
f                 270 src/Simplify.cpp             *f = *p;
f                 476 src/Simplify.cpp         double f = 0.0;
f                 482 src/Simplify.cpp                    const_float(value, &f)) {
f                 484 src/Simplify.cpp             expr = IntImm::make(op->type, (int64_t)f);
f                 486 src/Simplify.cpp                    const_float(value, &f)) {
f                 488 src/Simplify.cpp             expr = UIntImm::make(op->type, (uint64_t)f);
f                 490 src/Simplify.cpp                    const_float(value, &f)) {
f                 492 src/Simplify.cpp             expr = FloatImm::make(op->type, f);
f                2881 src/Simplify.cpp             bool f = true;
f                2885 src/Simplify.cpp                     f = false;
f                2893 src/Simplify.cpp             } else if (f) {
f                4108 src/Simplify.cpp             double f = 0.0;
f                4109 src/Simplify.cpp             if (const_float(arg, &f)) {
f                4110 src/Simplify.cpp                 expr = std::isnan(f);
f                4172 src/Simplify.cpp             if (const double *f = as_const_float(arg)) {
f                4173 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::sqrt(*f));
f                4185 src/Simplify.cpp             if (const double *f = as_const_float(arg)) {
f                4186 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::log(*f));
f                4198 src/Simplify.cpp             if (const double *f = as_const_float(arg)) {
f                4199 src/Simplify.cpp                 expr = FloatImm::make(arg.type(), std::exp(*f));
f                4230 src/Simplify.cpp             if (const double *f = as_const_float(arg)) {
f                4232 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::floor(*f));
f                4234 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::ceil(*f));
f                4236 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), std::nearbyint(*f));
f                4238 src/Simplify.cpp                     expr = FloatImm::make(arg.type(), (*f < 0 ? std::ceil(*f) : std::floor(*f)));
f                5139 src/Simplify.cpp     Expr t = const_true(), f = const_false();
f                5698 src/Simplify.cpp     Expr t = const_true(), f = const_false();
f                5703 src/Simplify.cpp     check(x == (x+1), f);
f                5715 src/Simplify.cpp     check(x < x, f);
f                5723 src/Simplify.cpp     check(x*0 < y*0, f);
f                5741 src/Simplify.cpp     check(!f, t);
f                5742 src/Simplify.cpp     check(!t, f);
f                5755 src/Simplify.cpp     check(b1 && !b1, f);
f                5756 src/Simplify.cpp     check(!b1 && b1, f);
f                5761 src/Simplify.cpp     check(broadcast(b1, 4) && broadcast(!b1, 4), broadcast(f, 4));
f                5762 src/Simplify.cpp     check(broadcast(!b1, 4) && broadcast(b1, 4), broadcast(f, 4));
f                5768 src/Simplify.cpp     check((x == 1) && (x != 1), f);
f                5769 src/Simplify.cpp     check((x != 1) && (x == 1), f);
f                5780 src/Simplify.cpp     check(x < 20 && x > 19, f);
f                5781 src/Simplify.cpp     check(x > 19 && x < 20, f);
f                5789 src/Simplify.cpp     check(x <= 18 && x > 19, f);
f                5790 src/Simplify.cpp     check(x > 19 && x <= 18, f);
f                5798 src/Simplify.cpp     check(x < 18 && x >= 19, f);
f                5799 src/Simplify.cpp     check(x >= 19 && x < 18, f);
f                5807 src/Simplify.cpp     check(x <= 18 && x >= 19, f);
f                5808 src/Simplify.cpp     check(x >= 19 && x <= 18, f);
f                5823 src/Simplify.cpp     check(f && (x < 0), f);
f                5825 src/Simplify.cpp     check(f || (x < 0), x < 0);
f                5829 src/Simplify.cpp     check(x == y && x != y, f);
f                5830 src/Simplify.cpp     check(x == y && y != x, f);
f                5833 src/Simplify.cpp     check(x < y && x >= y, f);
f                5834 src/Simplify.cpp     check(x <= y && x > y, f);
f                5837 src/Simplify.cpp     check(x <  min(x, y), f);
f                5839 src/Simplify.cpp     check(max(x, y) <  x, f);
f                5863 src/Simplify.cpp     check((x/8)*8 < x - 8, f);
f                5864 src/Simplify.cpp     check((x/8)*8 < x - 9, f);
f                5865 src/Simplify.cpp     check((x/8)*8 < x - 7, f);
f                6117 src/Simplify.cpp     Expr t = const_true(), f = const_false();
f                6149 src/Simplify.cpp     check_ind_expr(select(f, zero, e), e_is_indeterminate);
f                6237 src/Simplify.cpp     Expr t = const_true(), f = const_false();
f                  82 src/Simplify.h     float f = a - b * (floorf(a / b));
f                  84 src/Simplify.h     return f;
f                  87 src/Simplify.h     double f = a - b * (std::floor(a / b));
f                  88 src/Simplify.h     return f;
f                  54 src/SimplifySpecializations.cpp     SimplifyUsingFact(Expr f) : fact(f) {}
f                 307 src/SkipStages.cpp     StageSkipper(const string &f) : func(f), in_vector_loop(false) {}
f                 456 src/SkipStages.cpp     MightBeSkippable(string f) : func(f), guarded(false), result(false) {}
f                 323 src/SlidingWindow.cpp     SlidingWindowOnFunctionAndLoop(Function f, string v, Expr v_min) : func(f), loop_var(v), loop_min(v_min) {}
f                 353 src/SlidingWindow.cpp     SlidingWindowOnFunction(Function f) : func(f) {}
f                 109 src/SplitTuples.cpp             Function f = it->second;
f                 111 src/SplitTuples.cpp             if (f.outputs() > 1) {
f                 122 src/SplitTuples.cpp             expr = Call::make(op->type, name, args, op->call_type, f.get_contents());
f                 163 src/SplitTuples.cpp         Function f = it->second;
f                 706 src/StmtToHtml.cpp     for (const auto &f : m.functions()) {
f                 707 src/StmtToHtml.cpp         sth.print(f);
f                  28 src/StorageFlattening.cpp         for (auto &f : o) {
f                  29 src/StorageFlattening.cpp             outputs.insert(f.name());
f                 116 src/StorageFlattening.cpp             Function f = iter->second.first;
f                 117 src/StorageFlattening.cpp             const vector<StorageDim> &storage_dims = f.schedule().storage_dims();
f                 118 src/StorageFlattening.cpp             const vector<string> &args = f.args();
f                 196 src/StorageFlattening.cpp             const Function &f = it->second.first;
f                 204 src/StorageFlattening.cpp             if (outputs.count(f.name())) {
f                 205 src/StorageFlattening.cpp                 output_buf = f.output_buffers()[idx];
f                 249 src/StorageFlattening.cpp                 Function f = iter->second.first;
f                 250 src/StorageFlattening.cpp                 const vector<StorageDim> &storage_dims = f.schedule().storage_dims();
f                 251 src/StorageFlattening.cpp                 const vector<string> &args = f.args();
f                  86 src/StorageFolding.cpp     FoldStorageOfFunction(string f, int d, Expr e) :
f                  87 src/StorageFolding.cpp         func(f), dim(d), factor(e) {}
f                 261 src/StorageFolding.cpp     AttemptStorageFoldingOfFunction(Function f, bool explicit_only)
f                 262 src/StorageFolding.cpp         : func(f), explicit_only(explicit_only) {}
f                 273 src/StorageFolding.cpp     IsBufferSpecial(string f) : func(f) {}
f                 333 src/StorageFolding.cpp                     Expr f = folder.dims_folded[i].factor;
f                 337 src/StorageFolding.cpp                     bounds[d] = Range(0, f);
f                 113 src/Target.h       void set_feature(Feature f, bool value = true) {
f                 114 src/Target.h           if (f == FeatureEnd) return;
f                 115 src/Target.h           user_assert(f < FeatureEnd) << "Invalid Target feature.\n";
f                 116 src/Target.h           features.set(f, value);
f                 120 src/Target.h           for (Feature f : features_to_set) {
f                 121 src/Target.h               set_feature(f, value);
f                 125 src/Target.h       bool has_feature(Feature f) const {
f                 126 src/Target.h           if (f == FeatureEnd) return true;
f                 127 src/Target.h           user_assert(f < FeatureEnd) << "Invalid Target feature.\n";
f                 128 src/Target.h           return features[f];
f                 132 src/Target.h           for (Feature f : test_features) {
f                 133 src/Target.h               if (has_feature(f)) {
f                 141 src/Target.h           for (Feature f : test_features) {
f                 142 src/Target.h               if (!has_feature(f)) {
f                 153 src/Target.h       Target with_feature(Feature f) const {
f                 155 src/Target.h           copy.set_feature(f);
f                 163 src/Target.h       Target without_feature(Feature f) const {
f                 165 src/Target.h           copy.set_feature(f, false);
f                  76 src/Tracing.cpp             Function f = env.find(op->name)->second;
f                  77 src/Tracing.cpp             internal_assert(!f.can_be_inlined() || !f.schedule().compute_level().is_inline());
f                  79 src/Tracing.cpp             trace_it = f.is_tracing_loads() || trace_all_loads;
f                 113 src/Tracing.cpp         Function f = iter->second;
f                 114 src/Tracing.cpp         internal_assert(!f.can_be_inlined() || !f.schedule().compute_level().is_inline());
f                 116 src/Tracing.cpp         if (f.is_tracing_stores() || trace_all_stores) {
f                 123 src/Tracing.cpp             builder.func = f.name();
f                 169 src/Tracing.cpp         Function f = iter->second;
f                 170 src/Tracing.cpp         if (f.is_tracing_realizations() || trace_all_realizations) {
f                 191 src/Tracing.cpp         } else if (f.is_tracing_stores() || f.is_tracing_loads()) {
f                 206 src/Tracing.cpp         Function f = iter->second;
f                 207 src/Tracing.cpp         if (f.is_tracing_realizations() || trace_all_realizations) {
f                 214 src/Tracing.cpp             const vector<string> f_args = f.args();
f                 215 src/Tracing.cpp             for (int i = 0; i < f.dimensions(); i++) {
f                 216 src/Tracing.cpp                 Expr min = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".min");
f                 217 src/Tracing.cpp                 Expr max = Variable::make(Int(32), f.name() + ".s0." + f_args[i] + ".max");
f                 236 src/Tracing.cpp             stmt = LetStmt::make(f.name() + ".trace_id", begin_op_call,
f                 247 src/Tracing.cpp         for (Function f : outputs) {
f                 248 src/Tracing.cpp             if (op->name == f.name()) {
f                   7 src/Tuple.cpp  Tuple::Tuple(const FuncRef &f) : exprs(f.size()) {
f                   8 src/Tuple.cpp      user_assert(f.size() > 1)
f                  10 src/Tuple.cpp          << f.function().name() << "\" because it does not return a Tuple.\n";
f                  11 src/Tuple.cpp      for (size_t i = 0; i < f.size(); i++) {
f                  12 src/Tuple.cpp          exprs[i] = f[i];
f                 113 src/Util.h     T fold_left(const std::vector<T> &vec, Fn f) {
f                 120 src/Util.h             result = f(result, vec[i]);
f                 128 src/Util.h     T fold_right(const std::vector<T> &vec, Fn f) {
f                 135 src/Util.h             result = f(vec[i-1], result);
f                  40 src/WrapExternStages.cpp         Function f(op->func);
f                  44 src/WrapExternStages.cpp         for (ExternFuncArgument arg : f.extern_arguments()) {
f                  62 src/WrapExternStages.cpp         for (auto b : f.output_buffers()) {
f                 125 src/WrapExternStages.cpp             Function f(op->func);
f                 126 src/WrapExternStages.cpp             internal_assert(f.has_extern_definition());
f                 127 src/WrapExternStages.cpp             if (f.extern_definition_uses_old_buffer_t()) {
f                1550 src/runtime/HalideBuffer.h     static void for_each_value_helper(Fn &&f, const for_each_value_task_dim<sizeof...(Ptrs)> *t, Ptrs... ptrs) {
f                1552 src/runtime/HalideBuffer.h             f((*ptrs)...);
f                1555 src/runtime/HalideBuffer.h                 for_each_value_helper<(d >= 0 ? d - 1 : -1), innermost_strides_are_one>(f, t, ptrs...);
f                1568 src/runtime/HalideBuffer.h     static void for_each_value_helper(Fn &&f, int d, const for_each_value_task_dim<sizeof...(Ptrs)> *t, Ptrs... ptrs) {
f                1572 src/runtime/HalideBuffer.h             for_each_value_helper<-1, innermost_strides_are_one>(f, t, ptrs...);
f                1574 src/runtime/HalideBuffer.h             for_each_value_helper<0, innermost_strides_are_one>(f, t, ptrs...);
f                1576 src/runtime/HalideBuffer.h             for_each_value_helper<1, innermost_strides_are_one>(f, t, ptrs...);
f                1578 src/runtime/HalideBuffer.h             for_each_value_helper<2, innermost_strides_are_one>(f, t, ptrs...);
f                1581 src/runtime/HalideBuffer.h                 for_each_value_helper<innermost_strides_are_one>(f, d-1, t, ptrs...);
f                1598 src/runtime/HalideBuffer.h     void for_each_value(Fn &&f, Args... other_buffers) {
f                1644 src/runtime/HalideBuffer.h             for_each_value_helper<true>(f, dimensions() - 1, t, begin(), (other_buffers.begin())...);
f                1646 src/runtime/HalideBuffer.h             for_each_value_helper<false>(f, dimensions() - 1, t, begin(), (other_buffers.begin())...);
f                1664 src/runtime/HalideBuffer.h     static void for_each_element_variadic(int, int, const for_each_element_task_dim *, Fn &&f, Args... args) {
f                1665 src/runtime/HalideBuffer.h         f(args...);
f                1673 src/runtime/HalideBuffer.h     static void for_each_element_variadic(double, int d, const for_each_element_task_dim *t, Fn &&f, Args... args) {
f                1675 src/runtime/HalideBuffer.h             for_each_element_variadic(0, d - 1, t, std::forward<Fn>(f), i, args...);
f                1695 src/runtime/HalideBuffer.h     static int num_args(double, Fn &&f, Args... args) {
f                1699 src/runtime/HalideBuffer.h         return num_args(0, std::forward<Fn>(f), 0, args...);
f                1711 src/runtime/HalideBuffer.h     static void for_each_element_array_helper(int, const for_each_element_task_dim *t, Fn &&f, int *pos) {
f                1713 src/runtime/HalideBuffer.h             for_each_element_array_helper<d - 1>(0, t, std::forward<Fn>(f), pos);
f                1722 src/runtime/HalideBuffer.h     static void for_each_element_array_helper(double, const for_each_element_task_dim *t, Fn &&f, int *pos) {
f                1723 src/runtime/HalideBuffer.h         f(pos);
f                1732 src/runtime/HalideBuffer.h     static void for_each_element_array(int d, const for_each_element_task_dim *t, Fn &&f, int *pos) {
f                1734 src/runtime/HalideBuffer.h             f(pos);
f                1739 src/runtime/HalideBuffer.h             for_each_element_array_helper<0, Fn>(0, t, std::forward<Fn>(f), pos);
f                1741 src/runtime/HalideBuffer.h             for_each_element_array_helper<1, Fn>(0, t, std::forward<Fn>(f), pos);
f                1743 src/runtime/HalideBuffer.h             for_each_element_array_helper<2, Fn>(0, t, std::forward<Fn>(f), pos);
f                1745 src/runtime/HalideBuffer.h             for_each_element_array_helper<3, Fn>(0, t, std::forward<Fn>(f), pos);
f                1748 src/runtime/HalideBuffer.h                 for_each_element_array(d - 1, t, std::forward<Fn>(f), pos);
f                1758 src/runtime/HalideBuffer.h     static void for_each_element(int, int dims, const for_each_element_task_dim *t, Fn &&f, int check = 0) {
f                1760 src/runtime/HalideBuffer.h         for_each_element_array(dims - 1, t, std::forward<Fn>(f), pos);
f                1767 src/runtime/HalideBuffer.h     static void for_each_element(double, int dims, const for_each_element_task_dim *t, Fn &&f) {
f                1768 src/runtime/HalideBuffer.h         int args = num_args(0, std::forward<Fn>(f));
f                1770 src/runtime/HalideBuffer.h         for_each_element_variadic(0, args - 1, t, std::forward<Fn>(f));
f                1831 src/runtime/HalideBuffer.h     void for_each_element(Fn &&f) const {
f                1838 src/runtime/HalideBuffer.h         for_each_element(0, dimensions(), t, std::forward<Fn>(f));
f                1844 src/runtime/HalideBuffer.h         Fn f;
f                1850 src/runtime/HalideBuffer.h             (*buf)(args...) = f(args...);
f                1853 src/runtime/HalideBuffer.h         FillHelper(Fn &&f, Buffer<T, D> *buf) : f(std::forward<Fn>(f)), buf(buf) {}
f                1863 src/runtime/HalideBuffer.h     void fill(Fn &&f) {
f                1865 src/runtime/HalideBuffer.h         FillHelper<Fn> wrapper(std::forward<Fn>(f), this);
f                 139 src/runtime/HalideRuntime.h extern int halide_do_task(void *user_context, halide_task_t f, int idx,
f                 148 src/runtime/HalideRuntime.h extern struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure);
f                 969 src/runtime/HalideRuntime.h     HALIDE_ALWAYS_INLINE halide_dimension_t(int32_t m, int32_t e, int32_t s, uint32_t f = 0) :
f                 970 src/runtime/HalideRuntime.h         min(m), extent(e), stride(s), flags(f) {}
f                 743 src/runtime/cuda.cpp     CUfunction f;
f                 744 src/runtime/cuda.cpp     err = cuModuleGetFunction(&f, mod, entry_name);
f                 745 src/runtime/cuda.cpp     debug(user_context) << "Got function " << f << "\n";
f                 777 src/runtime/cuda.cpp     err = cuLaunchKernel(f,
f                  35 src/runtime/cuda_functions.h CUDA_FN(CUresult, cuLaunchKernel, (CUfunction f,
f                   4 src/runtime/fake_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                  10 src/runtime/fake_thread_pool.cpp WEAK int default_do_task(void *user_context, halide_task_t f, int idx,
f                  12 src/runtime/fake_thread_pool.cpp     return f(user_context, idx, closure);
f                  15 src/runtime/fake_thread_pool.cpp WEAK int default_do_par_for(void *user_context, halide_task_t f,
f                  18 src/runtime/fake_thread_pool.cpp         int result = halide_do_task(user_context, f, x, closure);
f                  33 src/runtime/fake_thread_pool.cpp WEAK halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) {
f                  58 src/runtime/fake_thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) {
f                  60 src/runtime/fake_thread_pool.cpp     custom_do_task = f;
f                  64 src/runtime/fake_thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) {
f                  66 src/runtime/fake_thread_pool.cpp     custom_do_par_for = f;
f                  70 src/runtime/fake_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                  72 src/runtime/fake_thread_pool.cpp     return (*custom_do_task)(user_context, f, idx, closure);
f                  75 src/runtime/fake_thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f,
f                  77 src/runtime/fake_thread_pool.cpp   return (*custom_do_par_for)(user_context, f, min, size, closure);
f                  28 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                  35 src/runtime/gcd_thread_pool.cpp     void (*f)(void *);
f                  41 src/runtime/gcd_thread_pool.cpp     t->f(t->closure);
f                  47 src/runtime/gcd_thread_pool.cpp WEAK halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) {
f                  49 src/runtime/gcd_thread_pool.cpp     thread->f = f;
f                  80 src/runtime/gcd_thread_pool.cpp WEAK int default_do_task(void *user_context, int (*f)(void *, int, uint8_t *),
f                  82 src/runtime/gcd_thread_pool.cpp     return f(user_context, idx, closure);
f                  86 src/runtime/gcd_thread_pool.cpp     int (*f)(void *, int, uint8_t *);
f                  97 src/runtime/gcd_thread_pool.cpp     j->exit_status = halide_do_task(j->user_context, j->f, j->min + (int)idx,
f                 101 src/runtime/gcd_thread_pool.cpp WEAK int default_do_par_for(void *user_context, halide_task_t f,
f                 107 src/runtime/gcd_thread_pool.cpp             int result = halide_do_task(user_context, f, x, closure);
f                 116 src/runtime/gcd_thread_pool.cpp     job.f = f;
f                 164 src/runtime/gcd_thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) {
f                 166 src/runtime/gcd_thread_pool.cpp     custom_do_task = f;
f                 170 src/runtime/gcd_thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) {
f                 172 src/runtime/gcd_thread_pool.cpp     custom_do_par_for = f;
f                 176 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                 178 src/runtime/gcd_thread_pool.cpp     return (*custom_do_task)(user_context, f, idx, closure);
f                 181 src/runtime/gcd_thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f,
f                 183 src/runtime/gcd_thread_pool.cpp   return (*custom_do_par_for)(user_context, f, min, size, closure);
f                 126 src/runtime/hexagon_remote/sim_remote.cpp int halide_do_task(void *user_context, halide_task_t f, int idx,
f                 128 src/runtime/hexagon_remote/sim_remote.cpp     return f(user_context, idx, closure);
f                 131 src/runtime/hexagon_remote/sim_remote.cpp int halide_do_par_for(void *user_context, halide_task_t f,
f                 134 src/runtime/hexagon_remote/sim_remote.cpp         int result = halide_do_task(user_context, f, x, closure);
f                  16 src/runtime/hexagon_remote/thread_pool.cpp     void (*f)(void *);
f                  23 src/runtime/hexagon_remote/thread_pool.cpp     t->f(t->closure);
f                  29 src/runtime/hexagon_remote/thread_pool.cpp struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) {
f                  31 src/runtime/hexagon_remote/thread_pool.cpp     t->f = f;
f                 157 src/runtime/hexagon_remote/thread_pool.cpp int halide_do_task(void *user_context, halide_task_t f,
f                 165 src/runtime/hexagon_remote/thread_pool.cpp         int ret = f(user_context, idx, c->closure);
f                 169 src/runtime/hexagon_remote/thread_pool.cpp         return f(user_context, idx, c->closure);
f                  57 src/runtime/noos.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) {
f                  59 src/runtime/noos.cpp     custom_do_task = f;
f                  63 src/runtime/noos.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) {
f                  65 src/runtime/noos.cpp     custom_do_par_for = f;
f                  69 src/runtime/noos.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) {
f                  71 src/runtime/noos.cpp     custom_get_symbol = f;
f                  75 src/runtime/noos.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) {
f                  77 src/runtime/noos.cpp     custom_load_library = f;
f                  81 src/runtime/noos.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) {
f                  83 src/runtime/noos.cpp     custom_get_library_symbol = f;
f                  87 src/runtime/noos.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                  89 src/runtime/noos.cpp     return (*custom_do_task)(user_context, f, idx, closure);
f                  92 src/runtime/noos.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f,
f                  94 src/runtime/noos.cpp   return (*custom_do_par_for)(user_context, f, min, size, closure);
f                 948 src/runtime/opencl.cpp     cl_kernel f = clCreateKernel(program, entry_name, &err);
f                 982 src/runtime/opencl.cpp             err = clSetKernelArg(f, i, sizeof(void *), &opencl_handle);
f                 984 src/runtime/opencl.cpp             err = clSetKernelArg(f, i, arg_sizes[i], this_arg);
f                 999 src/runtime/opencl.cpp     err = clSetKernelArg(f, i, (shared_mem_bytes > 0) ? shared_mem_bytes : 1, NULL);
f                1011 src/runtime/opencl.cpp     err = clEnqueueNDRangeKernel(ctx.cmd_queue, f,
f                1023 src/runtime/opencl.cpp     debug(user_context) << "    Releasing kernel " << (void *)f << "\n";
f                1024 src/runtime/opencl.cpp     clReleaseKernel(f);
f                1025 src/runtime/opencl.cpp     debug(user_context) << "    clReleaseKernel finished" << (void *)f << "\n";
f                  42 src/runtime/osx_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) {
f                  44 src/runtime/osx_get_symbol.cpp     custom_get_symbol = f;
f                  48 src/runtime/osx_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) {
f                  50 src/runtime/osx_get_symbol.cpp     custom_load_library = f;
f                  54 src/runtime/osx_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) {
f                  56 src/runtime/osx_get_symbol.cpp     custom_get_library_symbol = f;
f                  40 src/runtime/posix_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) {
f                  42 src/runtime/posix_get_symbol.cpp     custom_get_symbol = f;
f                  46 src/runtime/posix_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) {
f                  48 src/runtime/posix_get_symbol.cpp     custom_load_library = f;
f                  52 src/runtime/posix_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) {
f                  54 src/runtime/posix_get_symbol.cpp     custom_get_library_symbol = f;
f                  36 src/runtime/posix_threads.cpp     void (*f)(void *);
f                  42 src/runtime/posix_threads.cpp     t->f(t->closure);
f                  49 src/runtime/posix_threads.cpp WEAK struct halide_thread *halide_spawn_thread(void (*f)(void *), void *closure) {
f                  51 src/runtime/posix_threads.cpp     t->f = f;
f                  80 src/runtime/profiler.cpp             halide_profiler_func_stats *f = p->funcs + func_id - p->first_func_id;
f                  81 src/runtime/profiler.cpp             f->time += time;
f                  82 src/runtime/profiler.cpp             f->active_threads_numerator += active_threads;
f                  83 src/runtime/profiler.cpp             f->active_threads_denominator += 1;
f                  18 src/runtime/thread_pool.cpp WEAK halide_do_task_t halide_set_custom_do_task(halide_do_task_t f) {
f                  20 src/runtime/thread_pool.cpp     custom_do_task = f;
f                  24 src/runtime/thread_pool.cpp WEAK halide_do_par_for_t halide_set_custom_do_par_for(halide_do_par_for_t f) {
f                  26 src/runtime/thread_pool.cpp     custom_do_par_for = f;
f                  30 src/runtime/thread_pool.cpp WEAK int halide_do_task(void *user_context, halide_task_t f, int idx,
f                  32 src/runtime/thread_pool.cpp     return (*custom_do_task)(user_context, f, idx, closure);
f                  35 src/runtime/thread_pool.cpp WEAK int halide_do_par_for(void *user_context, halide_task_t f,
f                  37 src/runtime/thread_pool.cpp   return (*custom_do_par_for)(user_context, f, min, size, closure);
f                   6 src/runtime/thread_pool_common.h     int (*f)(void *, int, uint8_t *);
f                  62 src/runtime/thread_pool_common.h WEAK int default_do_task(void *user_context, halide_task_t f, int idx,
f                  64 src/runtime/thread_pool_common.h     return f(user_context, idx, closure);
f                 136 src/runtime/thread_pool_common.h             int result = halide_do_task(myjob.user_context, myjob.f, myjob.next,
f                 164 src/runtime/thread_pool_common.h WEAK int default_do_par_for(void *user_context, halide_task_t f,
f                 201 src/runtime/thread_pool_common.h     job.f = f;               // The job should call this function. It takes an index and a closure.
f                 152 src/runtime/to_string.cpp             double f;
f                 156 src/runtime/to_string.cpp                 f = n;
f                 159 src/runtime/to_string.cpp                 f = n - (integer_part << (-exponent));
f                 174 src/runtime/to_string.cpp             f = f * multiplier.as_double + 0.5;
f                 177 src/runtime/to_string.cpp             fractional_part = (uint64_t)f;
f                 178 src/runtime/to_string.cpp             if (fractional_part == f &&
f                  45 src/runtime/windows_get_symbol.cpp WEAK halide_get_symbol_t halide_set_custom_get_symbol(halide_get_symbol_t f) {
f                  47 src/runtime/windows_get_symbol.cpp     custom_get_symbol = f;
f                  51 src/runtime/windows_get_symbol.cpp WEAK halide_load_library_t halide_set_custom_load_library(halide_load_library_t f) {
f                  53 src/runtime/windows_get_symbol.cpp     custom_load_library = f;
f                  57 src/runtime/windows_get_symbol.cpp WEAK halide_get_library_symbol_t halide_set_custom_get_library_symbol(halide_get_library_symbol_t f) {
f                  59 src/runtime/windows_get_symbol.cpp     custom_get_library_symbol = f;
f                  29 src/runtime/windows_threads.cpp extern WIN32API bool InitOnceExecuteOnce(InitOnce *, bool WIN32API (*f)(InitOnce *, void *, void **), void *, void **);
f                  46 src/runtime/windows_threads.cpp     void(*f)(void *);
f                  52 src/runtime/windows_threads.cpp     t->f(t->closure);
f                  60 src/runtime/windows_threads.cpp WEAK halide_thread *halide_spawn_thread(void(*f)(void *), void *closure) {
f                  62 src/runtime/windows_threads.cpp     t->f = f;
f                  75 src/runtime/write_debug_image.cpp     const char *f = filename;
f                  77 src/runtime/write_debug_image.cpp     while (*f != '\0') f++;
f                  78 src/runtime/write_debug_image.cpp     while (f != filename && *f != '.') f--;
f                  80 src/runtime/write_debug_image.cpp     if (*f != '.') return false;
f                  81 src/runtime/write_debug_image.cpp     f++;
f                  83 src/runtime/write_debug_image.cpp     if (*f != 't' && *f != 'T') return false;
f                  84 src/runtime/write_debug_image.cpp     f++;
f                  86 src/runtime/write_debug_image.cpp     if (*f != 'i' && *f != 'I') return false;
f                  87 src/runtime/write_debug_image.cpp     f++;
f                  89 src/runtime/write_debug_image.cpp     if (*f != 'f' && *f != 'F') return false;
f                  90 src/runtime/write_debug_image.cpp     f++;
f                  92 src/runtime/write_debug_image.cpp     if (*f == '\0') return true;
f                  94 src/runtime/write_debug_image.cpp     if (*f != 'f' && *f != 'F') return false;
f                  95 src/runtime/write_debug_image.cpp     f++;
f                  97 src/runtime/write_debug_image.cpp     return *f == '\0';
f                 112 src/runtime/write_debug_image.cpp     void *f = fopen(filename, "wb");
f                 113 src/runtime/write_debug_image.cpp     if (!f) return -1;
f                 183 src/runtime/write_debug_image.cpp         if (!fwrite((void *)(&header), sizeof(header), 1, f)) {
f                 184 src/runtime/write_debug_image.cpp             fclose(f);
f                 192 src/runtime/write_debug_image.cpp                 if (!fwrite((void*)(&offset), 4, 1, f)) {
f                 193 src/runtime/write_debug_image.cpp                     fclose(f);
f                 200 src/runtime/write_debug_image.cpp                 if (!fwrite((void*)(&count), 4, 1, f)) {
f                 201 src/runtime/write_debug_image.cpp                     fclose(f);
f                 212 src/runtime/write_debug_image.cpp         if (!fwrite((void *)(&header[0]), sizeof(header), 1, f)) {
f                 213 src/runtime/write_debug_image.cpp             fclose(f);
f                 236 src/runtime/write_debug_image.cpp                         if (!fwrite((void *)temp, max_elts * bytes_per_element, 1, f)) {
f                 237 src/runtime/write_debug_image.cpp                             fclose(f);
f                 246 src/runtime/write_debug_image.cpp         if (!fwrite((void *)temp, counter * bytes_per_element, 1, f)) {
f                 247 src/runtime/write_debug_image.cpp             fclose(f);
f                 251 src/runtime/write_debug_image.cpp     fclose(f);
f                  27 test/correctness/align_bounds.cpp         Func f, g, h;
f                  30 test/correctness/align_bounds.cpp         f(x) = 3;
f                  32 test/correctness/align_bounds.cpp         g(x) = select(x % 2 == 0, f(x+1), f(x-1)+8);
f                  37 test/correctness/align_bounds.cpp         f.compute_root();
f                  90 test/correctness/align_bounds.cpp         Func f, g, h;
f                  93 test/correctness/align_bounds.cpp         f(x) = 3;
f                  95 test/correctness/align_bounds.cpp         g(x) = select(x % 2 == 0, f(x+1), f(x-1)+8);
f                 100 test/correctness/align_bounds.cpp         f.compute_root();
f                   9 test/correctness/argmax.cpp     Func f, arg_max_f;
f                  12 test/correctness/argmax.cpp     f(x) = x * (100 - x);
f                  19 test/correctness/argmax.cpp     Expr best_so_far = f(clamp(arg_max_f(), 0, 100));
f                  20 test/correctness/argmax.cpp     arg_max_f() = select(f(r) > best_so_far, r, arg_max_f());
f                  13 test/correctness/assertion_failure_in_parallel_for.cpp     Func f("f"), g("g"), h("h");
f                  18 test/correctness/assertion_failure_in_parallel_for.cpp     f(x, y) = x + y;
f                  19 test/correctness/assertion_failure_in_parallel_for.cpp     h(x, y) = f(x, y);
f                  25 test/correctness/assertion_failure_in_parallel_for.cpp     f.compute_at(g, y);
f                  19 test/correctness/autotune_bug_2.cpp     Func f("f"), g("g");
f                  21 test/correctness/autotune_bug_2.cpp     f(x) = x;
f                  23 test/correctness/autotune_bug_2.cpp     f(x) = r;
f                  24 test/correctness/autotune_bug_2.cpp     f.store_root();
f                  26 test/correctness/autotune_bug_2.cpp     g(x) = f(x) + f(x+1);
f                  27 test/correctness/autotune_bug_2.cpp     f.compute_at(g, x);
f                  30 test/correctness/autotune_bug_2.cpp     f.split(x, xo, xi, 8);
f                  31 test/correctness/autotune_bug_2.cpp     f.update();
f                  33 test/correctness/autotune_bug_2.cpp     f.trace_realizations().trace_stores();
f                  19 test/correctness/autotune_bug_3.cpp     Func f("f"), g("g");
f                  21 test/correctness/autotune_bug_3.cpp     f(x) = x;
f                  22 test/correctness/autotune_bug_3.cpp     f.store_root();
f                  24 test/correctness/autotune_bug_3.cpp     g(x) = f(x) + f(x+1);
f                  25 test/correctness/autotune_bug_3.cpp     f.compute_at(g, x);
f                  28 test/correctness/autotune_bug_3.cpp     f.split(x, xo, xi, 8);
f                  30 test/correctness/autotune_bug_3.cpp     f.trace_realizations().trace_stores();
f                  19 test/correctness/autotune_bug_4.cpp     Func f("f"), g("g"), h("h");
f                  22 test/correctness/autotune_bug_4.cpp     f(x) = x;
f                  23 test/correctness/autotune_bug_4.cpp     g(x) = f(x);
f                  27 test/correctness/autotune_bug_4.cpp     f.split(x, xo, xi, 4);
f                  30 test/correctness/autotune_bug_4.cpp     f.compute_at(h, xo);
f                  34 test/correctness/autotune_bug_4.cpp     f.trace_realizations().trace_stores().trace_loads();
f                   7 test/correctness/bad_likely.cpp     Func f;
f                  10 test/correctness/bad_likely.cpp     f(x) = select(x < 10 || x > 20, likely(1), 2);
f                  12 test/correctness/bad_likely.cpp     Buffer<int> im = f.realize(30);
f                  54 test/correctness/bit_counting.cpp void schedule(Func f, const Target &t) {
f                  57 test/correctness/bit_counting.cpp         f.hexagon().vectorize(x, 128);
f                  59 test/correctness/bit_counting.cpp         f.vectorize(x, 16);
f                   8 test/correctness/bound.cpp     Func f, g, h;
f                  10 test/correctness/bound.cpp     f(x, y) = max(x, y);
f                  11 test/correctness/bound.cpp     g(x, y, c) = f(x, y) * c;
f                  15 test/correctness/bound.cpp     Buffer<int> imf = f.realize(32, 32);
f                  21 test/correctness/boundary_conditions.cpp void schedule_test(Func f, int vector_width, const Target &t) {
f                  23 test/correctness/boundary_conditions.cpp         f.vectorize(x, vector_width);
f                  26 test/correctness/boundary_conditions.cpp         f.gpu_tile(x, y, xo, yo, xi, yi, 2, 2);
f                  34 test/correctness/boundary_conditions.cpp bool check_constant_exterior(const Buffer<T> &input, T exterior, Func f,
f                  42 test/correctness/boundary_conditions.cpp     f = lambda(x, y, f(x, y));
f                  43 test/correctness/boundary_conditions.cpp     schedule_test(f, vector_width, t);
f                  44 test/correctness/boundary_conditions.cpp     f.realize(result, t);
f                  60 test/correctness/boundary_conditions.cpp bool check_repeat_edge(const Buffer<T> &input, Func f,
f                  68 test/correctness/boundary_conditions.cpp     f = lambda(x, y, f(x, y));
f                  69 test/correctness/boundary_conditions.cpp     schedule_test(f, vector_width, t);
f                  70 test/correctness/boundary_conditions.cpp     f.realize(result, t);
f                  84 test/correctness/boundary_conditions.cpp bool check_repeat_image(const Buffer<T> &input, Func f,
f                  92 test/correctness/boundary_conditions.cpp     f = lambda(x, y, f(x, y));
f                  93 test/correctness/boundary_conditions.cpp     schedule_test(f, vector_width, t);
f                  94 test/correctness/boundary_conditions.cpp     f.realize(result, t);
f                 112 test/correctness/boundary_conditions.cpp bool check_mirror_image(const Buffer<T> &input, Func f,
f                 120 test/correctness/boundary_conditions.cpp     f = lambda(x, y, f(x, y));
f                 121 test/correctness/boundary_conditions.cpp     schedule_test(f, vector_width, t);
f                 122 test/correctness/boundary_conditions.cpp     f.realize(result, t);
f                 144 test/correctness/boundary_conditions.cpp bool check_mirror_interior(const Buffer<T> &input, Func f,
f                 152 test/correctness/boundary_conditions.cpp     f = lambda(x, y, f(x, y));
f                 153 test/correctness/boundary_conditions.cpp     schedule_test(f, vector_width, t);
f                 154 test/correctness/boundary_conditions.cpp     f.realize(result, t);
f                 385 test/correctness/boundary_conditions.cpp     for (auto &f : futures) {
f                 386 test/correctness/boundary_conditions.cpp         success &= f.get();
f                  10 test/correctness/bounds.cpp     Func f("f"), g("g"), h("h");
f                  14 test/correctness/bounds.cpp     f(x, y) = max(x, y);
f                  23 test/correctness/bounds.cpp         f.gpu_tile(x, y, xo, yo, xi, yi, 8, 8);
f                  27 test/correctness/bounds.cpp         f.hexagon().vectorize(x, 32);
f                  34 test/correctness/bounds.cpp     Buffer<int> imf = f.realize(32, 32, target);
f                   7 test/correctness/bounds_inference.cpp     Func f("f"), g("g"), h("h");
f                  12 test/correctness/bounds_inference.cpp     f(x, y) = (g(x-1) + g(x+1)) + y;
f                  20 test/correctness/bounds_inference.cpp         f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  24 test/correctness/bounds_inference.cpp         f.hexagon().vectorize(x, 32);
f                  29 test/correctness/bounds_inference.cpp     Buffer<int> out = f.realize(32, 32, target);
f                   8 test/correctness/bounds_inference_chunk.cpp     Func f, g, h; Var x, y;
f                  12 test/correctness/bounds_inference_chunk.cpp     f(x, y) = (g(x-1, y-1) + g(x+1, y+1))/2;
f                  15 test/correctness/bounds_inference_chunk.cpp     g.compute_at(f, y);
f                  19 test/correctness/bounds_inference_chunk.cpp     Buffer<int> out = f.realize(32, 32);
f                   9 test/correctness/bounds_inference_complex.cpp     Func f[K]; Var x, y;
f                  14 test/correctness/bounds_inference_complex.cpp     f[0](x, y) = x+y;
f                  15 test/correctness/bounds_inference_complex.cpp     f[1](x, y) = x*y;
f                  20 test/correctness/bounds_inference_complex.cpp         f[i](x, y) = f[j1](x-1, y-1) + f[j2](x+1, clamp(f[j3](x+1, y-1), 0, 7));
f                  23 test/correctness/bounds_inference_complex.cpp             f[i].compute_root();
f                  24 test/correctness/bounds_inference_complex.cpp             f[i].vectorize(x, 4);
f                  28 test/correctness/bounds_inference_complex.cpp     Buffer<int> out = f[K-1].realize(32, 32);
f                   6 test/correctness/bounds_of_abs.cpp void check(Func f, ImageParam in, int min, int extent) {
f                  11 test/correctness/bounds_of_abs.cpp     f.infer_input_bounds(output);
f                   6 test/correctness/bounds_of_cast.cpp void check(Func f, ImageParam in, int min, int extent) {
f                  11 test/correctness/bounds_of_cast.cpp     f.infer_input_bounds(output);
f                  13 test/correctness/bounds_of_func.cpp         Func f("f"), g("g");
f                  15 test/correctness/bounds_of_func.cpp         f(x) = clamp(x, 10, 20);
f                  16 test/correctness/bounds_of_func.cpp         f.compute_root();
f                  20 test/correctness/bounds_of_func.cpp         g(x) = in(f(x));
f                  32 test/correctness/bounds_of_func.cpp         Func f("f"), g("g");
f                  35 test/correctness/bounds_of_func.cpp         f(x) = clamp(x, 10, p);
f                  36 test/correctness/bounds_of_func.cpp         f.compute_root();
f                  40 test/correctness/bounds_of_func.cpp         g(x) = in(f(x));
f                  53 test/correctness/bounds_of_func.cpp         Func f, g, h;
f                  55 test/correctness/bounds_of_func.cpp         f(x) = min(x, 100);
f                  56 test/correctness/bounds_of_func.cpp         f.compute_root();
f                  58 test/correctness/bounds_of_func.cpp         g(x) = max(f(x) - 10, 0);
f                  75 test/correctness/bounds_of_func.cpp         Func f;
f                  76 test/correctness/bounds_of_func.cpp         f(x) = Tuple(clamp(x, 0, 2), clamp(x, 1, 3));
f                  77 test/correctness/bounds_of_func.cpp         f.compute_root();
f                  78 test/correctness/bounds_of_func.cpp         fs.push_back(f);
f                  81 test/correctness/bounds_of_func.cpp             f = Func();
f                  82 test/correctness/bounds_of_func.cpp             f(x) = Tuple(fs[i-1](x)[0] + fs[i-1](x)[1],
f                  84 test/correctness/bounds_of_func.cpp             f.compute_root();
f                  85 test/correctness/bounds_of_func.cpp             fs.push_back(f);
f                   7 test/correctness/bounds_of_monotonic_math.cpp     Func f;
f                  12 test/correctness/bounds_of_monotonic_math.cpp     f(x) = input(cast<int>(ceil(0.3f * ceil(0.4f * floor(x * 22.5f)))));
f                  14 test/correctness/bounds_of_monotonic_math.cpp     f.infer_input_bounds(10);
f                   6 test/correctness/buffer_t.cpp #define CHECK(f, s32, s64) \
f                   7 test/correctness/buffer_t.cpp     static_assert(offsetof(halide_buffer_t, f) == (sizeof(void*) == 8 ? (s64) : (s32)), #f " is wrong")
f                  37 test/correctness/c_function.cpp     Func f;
f                  39 test/correctness/c_function.cpp     f(x, y) = my_func(x, cast<float>(y));
f                  41 test/correctness/c_function.cpp     Buffer<float> imf = f.realize(32, 32);
f                   7 test/correctness/cast_handle.cpp     Func f, g;
f                  11 test/correctness/cast_handle.cpp     f(x) = reinterpret<uint64_t>(handle);
f                  18 test/correctness/cast_handle.cpp     Buffer<uint64_t> out1 = f.realize(4);
f                  10 test/correctness/chunk.cpp     Func f, g;
f                  14 test/correctness/chunk.cpp     f(x, y) = cast<float>(x);
f                  15 test/correctness/chunk.cpp     g(x, y) = f(x+1, y) + f(x-1, y);
f                  21 test/correctness/chunk.cpp         f.compute_at(g, xo).gpu_threads(x, y);
f                  11 test/correctness/circular_reference_leak.cpp         Func f;
f                  14 test/correctness/circular_reference_leak.cpp         f(x) = x;
f                  15 test/correctness/circular_reference_leak.cpp         f(r) = f(r-1) + f(r+1);
f                  23 test/correctness/code_explosion.cpp     Func f;
f                  32 test/correctness/code_explosion.cpp     f(x) = e[e.size()-1];
f                  34 test/correctness/code_explosion.cpp     f.realize(10);
f                   7 test/correctness/compare_vars.cpp     Func f;
f                   9 test/correctness/compare_vars.cpp     f(x, y) = select(x == y, 1, 0);
f                  11 test/correctness/compare_vars.cpp     Buffer<int> im = f.realize(10, 10);
f                  35 test/correctness/compile_to.cpp     Func f, g, h, j;
f                  37 test/correctness/compile_to.cpp     f(x, y) = x + y;
f                  38 test/correctness/compile_to.cpp     g(x, y) = cast<float>(f(x, y) + f(x+1, y));
f                  39 test/correctness/compile_to.cpp     h(x, y) = f(x, y) + g(x, y);
f                  42 test/correctness/compile_to.cpp     f.compute_root();
f                   9 test/correctness/compile_to_bitcode.cpp     Func f, g, h, j;
f                  11 test/correctness/compile_to_bitcode.cpp     f(x, y) = x + y;
f                  12 test/correctness/compile_to_bitcode.cpp     g(x, y) = cast<float>(f(x, y) + f(x+1, y));
f                  13 test/correctness/compile_to_bitcode.cpp     h(x, y) = f(x, y) + g(x, y);
f                  16 test/correctness/compile_to_bitcode.cpp     f.compute_root();
f                  10 test/correctness/compile_to_lowered_stmt.cpp     Func f, g, h, j;
f                  12 test/correctness/compile_to_lowered_stmt.cpp     f(x, y) = x + y;
f                  13 test/correctness/compile_to_lowered_stmt.cpp     g(x, y) = cast<float>(f(x, y) + f(x+1, y))*p;
f                  14 test/correctness/compile_to_lowered_stmt.cpp     h(x, y) = f(x, y) + g(x, y);
f                  17 test/correctness/compile_to_lowered_stmt.cpp     f.compute_root();
f                  32 test/correctness/compile_to_multitarget.cpp     Func f, g, h, j;
f                  34 test/correctness/compile_to_multitarget.cpp     f(x, y) = x + y;
f                  35 test/correctness/compile_to_multitarget.cpp     g(x, y) = cast<float>(f(x, y) + f(x+1, y));
f                  36 test/correctness/compile_to_multitarget.cpp     h(x, y) = f(x, y) + g(x, y);
f                  39 test/correctness/compile_to_multitarget.cpp     f.compute_root();
f                  22 test/correctness/compute_at_split_rvar.cpp         Func f, g;
f                  26 test/correctness/compute_at_split_rvar.cpp         f(x) = count(x);
f                  28 test/correctness/compute_at_split_rvar.cpp         g(r) = f(r);
f                  31 test/correctness/compute_at_split_rvar.cpp         f.compute_at(g, ri);
f                  46 test/correctness/compute_at_split_rvar.cpp         Func f, g;
f                  50 test/correctness/compute_at_split_rvar.cpp         f(x) = count(x);
f                  52 test/correctness/compute_at_split_rvar.cpp         g(r) = f(r);
f                  55 test/correctness/compute_at_split_rvar.cpp         f.compute_at(g, ro).unroll(x);
f                  70 test/correctness/compute_at_split_rvar.cpp         Func f, g;
f                  74 test/correctness/compute_at_split_rvar.cpp         f(x) = count(x);
f                  76 test/correctness/compute_at_split_rvar.cpp         g(r) = f(r);
f                  79 test/correctness/compute_at_split_rvar.cpp         f.compute_at(g, ri);
f                  96 test/correctness/compute_at_split_rvar.cpp         Func f, g;
f                 100 test/correctness/compute_at_split_rvar.cpp         f(x) = count(x);
f                 102 test/correctness/compute_at_split_rvar.cpp         g(r) = f(r);
f                 105 test/correctness/compute_at_split_rvar.cpp         f.compute_at(g, ro);
f                 121 test/correctness/compute_at_split_rvar.cpp         Func f, g;
f                 125 test/correctness/compute_at_split_rvar.cpp         f(x) = count(x);
f                 127 test/correctness/compute_at_split_rvar.cpp         g(r) = f(r);
f                 130 test/correctness/compute_at_split_rvar.cpp         f.compute_at(g, fused);
f                   9 test/correctness/computed_index.cpp     Func f;
f                  12 test/correctness/computed_index.cpp     f(x, y) = in2(x, y, clamp(in1(x, y), 0, 9));
f                  13 test/correctness/computed_index.cpp     Buffer<uint8_t> out = f.realize(256, 256);
f                  27 test/correctness/constant_expr.cpp         const double *f = as_const_float(e);
f                  28 test/correctness/constant_expr.cpp         if (!f) return false;
f                  29 test/correctness/constant_expr.cpp         *val = (T)(*f);
f                   9 test/correctness/constant_type.cpp     Func f;
f                  11 test/correctness/constant_type.cpp     f(x) = cast<T>(1);
f                  12 test/correctness/constant_type.cpp     Buffer<T> im = f.realize(10);
f                  14 test/correctness/constant_type.cpp     if (f.value().type() != t) {
f                  15 test/correctness/constant_type.cpp         std::cout << "Function was defined with type " << t << " but has type " << f.value().type() << "\n";
f                  15 test/correctness/constraints.cpp     Func f, g;
f                  21 test/correctness/constraints.cpp     f(x, y) = param(x, y)*2;
f                  25 test/correctness/constraints.cpp     f.set_error_handler(my_error_handler);
f                  30 test/correctness/constraints.cpp     f.realize(20, 20);
f                  39 test/correctness/constraints.cpp     f.realize(20, 20);
f                  14 test/correctness/cross_compilation.cpp     Func f("f");
f                  16 test/correctness/cross_compilation.cpp     f(x) = x;
f                  49 test/correctness/cross_compilation.cpp         f.compile_to_file(Internal::get_test_tmp_dir() + "test_object_" + t, std::vector<Argument>(), "", target);
f                  50 test/correctness/cross_compilation.cpp         f.compile_to_static_library(Internal::get_test_tmp_dir() + "test_lib_" + t, std::vector<Argument>(), "", target);
f                  25 test/correctness/custom_allocator.cpp     Func f, g;
f                  28 test/correctness/custom_allocator.cpp     f(x) = x;
f                  29 test/correctness/custom_allocator.cpp     g(x) = f(x);
f                  30 test/correctness/custom_allocator.cpp     f.compute_root();
f                  53 test/correctness/custom_lowering_pass.cpp     Func f;
f                  56 test/correctness/custom_lowering_pass.cpp     f(x) = x / 2.4f + x / sin(x) + x * sin(x);
f                  57 test/correctness/custom_lowering_pass.cpp     f.add_custom_lowering_pass(new CheckForFloatDivision);
f                  58 test/correctness/custom_lowering_pass.cpp     f.add_custom_lowering_pass(new CountMultiplies);
f                  61 test/correctness/custom_lowering_pass.cpp     f.realize(size);
f                  19 test/correctness/debug_to_file.cpp         Func f, g, h, j;
f                  21 test/correctness/debug_to_file.cpp         f(x, y) = x + y;
f                  22 test/correctness/debug_to_file.cpp         g(x, y) = cast<float>(f(x, y) + f(x+1, y));
f                  23 test/correctness/debug_to_file.cpp         h(x, y) = f(x, y) + g(x, y);
f                  28 test/correctness/debug_to_file.cpp             f.compute_root().gpu_tile(x, y, xi, yi, 1, 1).debug_to_file(f_tmp);
f                  32 test/correctness/debug_to_file.cpp             f.compute_root().debug_to_file(f_tmp);
f                  44 test/correctness/debug_to_file.cpp     FILE *f = fopen(f_tmp.c_str(), "rb");
f                  47 test/correctness/debug_to_file.cpp     assert(f && g && h);
f                  50 test/correctness/debug_to_file.cpp     assert(fread((void *)(&header[0]), 4, 5, f) == 5);
f                  58 test/correctness/debug_to_file.cpp     assert(fread((void *)(&f_data[0]), 4, 11*10, f) == 11*10);
f                  68 test/correctness/debug_to_file.cpp     fclose(f);
f                  21 test/correctness/debug_to_file_multiple_outputs.cpp         Func f, g, h, j;
f                  23 test/correctness/debug_to_file_multiple_outputs.cpp         f(x, y) = x + y;
f                  24 test/correctness/debug_to_file_multiple_outputs.cpp         g(x, y) = cast<float>(f(x, y) + f(x + 1, y));
f                  25 test/correctness/debug_to_file_multiple_outputs.cpp         h(x, y) = f(x, y) + g(x, y);
f                  27 test/correctness/debug_to_file_multiple_outputs.cpp         f.compute_root().debug_to_file(f_tmp);
f                  31 test/correctness/debug_to_file_multiple_outputs.cpp         Pipeline p({f, g, h});
f                  43 test/correctness/debug_to_file_multiple_outputs.cpp     FILE *f = fopen(f_tmp.c_str(), "rb");
f                  46 test/correctness/debug_to_file_multiple_outputs.cpp     assert(f && g && h);
f                  49 test/correctness/debug_to_file_multiple_outputs.cpp     assert(fread((void *)(&header[0]), 4, 5, f) == 5);
f                  57 test/correctness/debug_to_file_multiple_outputs.cpp     assert(fread((void *)(&f_data[0]), 4, (size_x+1)*size_y, f) == (size_x+1)*size_y);
f                  67 test/correctness/debug_to_file_multiple_outputs.cpp     fclose(f);
f                  21 test/correctness/debug_to_file_reorder.cpp         Func f, g, h, j;
f                  23 test/correctness/debug_to_file_reorder.cpp         f(x, y) = x + y;
f                  24 test/correctness/debug_to_file_reorder.cpp         g(x, y) = cast<float>(f(x, y) + f(x+1, y));
f                  25 test/correctness/debug_to_file_reorder.cpp         h(x, y) = f(x, y) + g(x, y);
f                  30 test/correctness/debug_to_file_reorder.cpp             f.compute_root().gpu_tile(x, y, xi, yi, 1, 1).reorder_storage(y, x).debug_to_file(f_tmp);
f                  34 test/correctness/debug_to_file_reorder.cpp             f.compute_root().reorder_storage(y, x).debug_to_file(f_tmp);
f                  46 test/correctness/debug_to_file_reorder.cpp     FILE *f = fopen(f_tmp.c_str(), "rb");
f                  49 test/correctness/debug_to_file_reorder.cpp     assert(f && g && h);
f                  52 test/correctness/debug_to_file_reorder.cpp     assert(fread((void *)(&header[0]), 4, 5, f) == 5);
f                  60 test/correctness/debug_to_file_reorder.cpp     assert(fread((void *)(&f_data[0]), 4, (size_x+1)*size_y, f) == (size_x+1)*size_y);
f                  70 test/correctness/debug_to_file_reorder.cpp     fclose(f);
f                   8 test/correctness/deinterleave4.cpp Func upsample(Func f) {
f                  10 test/correctness/deinterleave4.cpp     u(x) = f(x/2+1);
f                  12 test/correctness/dynamic_reduction_bounds.cpp     Func f;
f                  14 test/correctness/dynamic_reduction_bounds.cpp     f(x, y, z) = 1;
f                  15 test/correctness/dynamic_reduction_bounds.cpp     f(x, y, dom / hard_to_reason_about) += 1;
f                  16 test/correctness/dynamic_reduction_bounds.cpp     f.compile_jit();
f                  21 test/correctness/dynamic_reduction_bounds.cpp     f.realize(100, 100, 16);
f                  22 test/correctness/erf.cpp     Func f;
f                  25 test/correctness/erf.cpp     f(x) = erf((x-50000)/10000.0f);
f                  26 test/correctness/erf.cpp     f.vectorize(x, 8);
f                  28 test/correctness/erf.cpp     Buffer<float> im = f.realize(100000);
f                   6 test/correctness/exception.cpp void check_pure(Func f) {
f                   7 test/correctness/exception.cpp     if (f.has_update_definition()) {
f                   7 test/correctness/explicit_inline_reductions.cpp     Func f("f");
f                  11 test/correctness/explicit_inline_reductions.cpp     f(x, y) = product(sum(r1, r1 + r3) + sum(r2, r2 * 2 + r3));
f                  12 test/correctness/explicit_inline_reductions.cpp     f(r1, y) += product(r3, sum(r2, r1 + r2 + r3));
f                  14 test/correctness/explicit_inline_reductions.cpp     Buffer<int> result = f.realize(10, 10);
f                  55 test/correctness/extern_bounds_inference.cpp         Func f;
f                  62 test/correctness/extern_bounds_inference.cpp         f.define_extern("translate", args, UInt(8), 2);
f                  64 test/correctness/extern_bounds_inference.cpp         f.infer_input_bounds(W, H);
f                  24 test/correctness/extern_consumer.cpp         FILE *f = fopen(filename, "w");
f                  30 test/correctness/extern_consumer.cpp             fprintf(f, "%d\n", base[i]);
f                  32 test/correctness/extern_consumer.cpp         fclose(f);
f                  54 test/correctness/extern_consumer.cpp     FILE *f = fopen(path.c_str(), "r");
f                  56 test/correctness/extern_consumer.cpp     size_t bytes_read = fread(&result[0], 1, 1023, f);
f                  58 test/correctness/extern_consumer.cpp     fclose(f);
f                  30 test/correctness/extern_error.cpp     Func f;
f                  31 test/correctness/extern_error.cpp     f.define_extern("extern_error", args, Float(32), 1);
f                  32 test/correctness/extern_error.cpp     f.set_error_handler(&my_halide_error);
f                  33 test/correctness/extern_error.cpp     f.realize(100);
f                  46 test/correctness/extern_output_expansion.cpp         Func f, g, h;
f                  48 test/correctness/extern_output_expansion.cpp         f(x) = x*x;
f                  50 test/correctness/extern_output_expansion.cpp         g.define_extern("extern_stage", {f}, Int(32), 1);
f                  57 test/correctness/extern_output_expansion.cpp         f.compute_root();
f                  70 test/correctness/extern_stage.cpp     Func f, g, h;
f                  80 test/correctness/extern_stage.cpp     f(x) = x*x;
f                  84 test/correctness/extern_stage.cpp     args[1] = f;
f                  89 test/correctness/extern_stage.cpp     f.compute_at(h, x);
f                  13 test/correctness/external_code.cpp     Func f("f");
f                  15 test/correctness/external_code.cpp     f(x, y) = 42;
f                  20 test/correctness/external_code.cpp     f.compile_to_bitcode(bitcode_file, {}, "extern", target);
f                  16 test/correctness/float16_t_implicit_upcast.cpp     Halide::Func f;
f                  21 test/correctness/float16_t_implicit_upcast.cpp     f(x, y) = 0.25f + Expr(float16_t(0.75));
f                  24 test/correctness/float16_t_implicit_upcast.cpp     Buffer<float> simple = f.realize(10, 3);
f                  15 test/correctness/float16_t_realize_constant.cpp     Halide::Func f;
f                  19 test/correctness/float16_t_realize_constant.cpp     f(x, y) = float16_t(0.75);
f                  22 test/correctness/float16_t_realize_constant.cpp     f.trace_stores();
f                  26 test/correctness/float16_t_realize_constant.cpp     Buffer<float16_t> simple = f.realize(10, 3);
f                  29 test/correctness/float16_t_realize_constant.cpp     simple.for_each_value([&](float16_t f) {
f                  30 test/correctness/float16_t_realize_constant.cpp         h_assert(f == float16_t(0.75), "Invalid value read back");
f                  31 test/correctness/float16_t_realize_constant.cpp         h_assert(f.to_bits() == 0x3a00, "Bit pattern incorrect");
f                  29 test/correctness/force_onto_stack.cpp         Func f("f"), g;
f                  34 test/correctness/force_onto_stack.cpp         f(x) = x;
f                  35 test/correctness/force_onto_stack.cpp         g(x) = f(x);
f                  41 test/correctness/force_onto_stack.cpp         f.compute_at(g, xo).bound_extent(x, 8).vectorize(x);
f                  68 test/correctness/force_onto_stack.cpp         Func f, g;
f                  71 test/correctness/force_onto_stack.cpp         f(x) = x;
f                  72 test/correctness/force_onto_stack.cpp         g(x) = f(x);
f                  75 test/correctness/force_onto_stack.cpp         f.compute_at(g, xo);
f                  78 test/correctness/force_onto_stack.cpp         f.bound_extent(x, 8);
f                  25 test/correctness/func_lifetime.cpp     Func f("f");
f                  29 test/correctness/func_lifetime.cpp     f(x, y) = x*y + 1;
f                  33 test/correctness/func_lifetime.cpp         f.gpu_tile(x, y, xi, yi, 8, 8);
f                  35 test/correctness/func_lifetime.cpp         f.hexagon().vectorize(x, 32);
f                  41 test/correctness/func_lifetime.cpp         Buffer<int> imf = f.realize(32, 32, target);
f                  72 test/correctness/func_lifetime.cpp     Buffer<int> imf2 = f.realize(32, 32, target);
f                  32 test/correctness/func_lifetime_2.cpp         Func f("f");
f                  34 test/correctness/func_lifetime_2.cpp         f(x, y) = x*y + 1;
f                  37 test/correctness/func_lifetime_2.cpp             f.gpu_tile(x, y, xi, yi, 8, 8);
f                  39 test/correctness/func_lifetime_2.cpp             f.hexagon().vectorize(x, 32);
f                  45 test/correctness/func_lifetime_2.cpp             Buffer<int> imf = f.realize(32, 32, target);
f                   7 test/correctness/fuse.cpp     Func f, g;
f                  11 test/correctness/fuse.cpp     f(x, y) = e;
f                  14 test/correctness/fuse.cpp     f.compute_root();
f                  31 test/correctness/fuse.cpp     error() = maximum(abs(f(r.x, r.y) - g(r.x, r.y)));
f                   6 test/correctness/fused_where_inner_extent_is_zero.cpp     Func f;
f                   8 test/correctness/fused_where_inner_extent_is_zero.cpp     f(x, y) = x + y;
f                  15 test/correctness/fused_where_inner_extent_is_zero.cpp     g(r.x, r.y) = f(r.x, r.y);
f                  18 test/correctness/fused_where_inner_extent_is_zero.cpp     f.compute_root().fuse(x, y, fused);
f                  13 test/correctness/fuzz_float_stores.cpp         Func f;
f                  15 test/correctness/fuzz_float_stores.cpp         f(x) = (x - 42.5f) / 16.0f;
f                  16 test/correctness/fuzz_float_stores.cpp         f.vectorize(x, 8);
f                  19 test/correctness/fuzz_float_stores.cpp         Buffer<float> im_ref = f.realize(size, target);
f                  20 test/correctness/fuzz_float_stores.cpp         Buffer<float> im_fuzzed = f.realize(size, target_fuzzed);
f                  34 test/correctness/fuzz_float_stores.cpp         Func f;
f                  36 test/correctness/fuzz_float_stores.cpp         f(x) = sqrt(x - 42.3333333f) / 17.0f - tan(x);
f                  37 test/correctness/fuzz_float_stores.cpp         f.vectorize(x, 8);
f                  39 test/correctness/fuzz_float_stores.cpp         Buffer<float> im_ref = f.realize(size, target);
f                  40 test/correctness/fuzz_float_stores.cpp         Buffer<float> im_fuzzed = f.realize(size, target_fuzzed);
f                  27 test/correctness/gpu_assertion_in_kernel.cpp     Func f;
f                  29 test/correctness/gpu_assertion_in_kernel.cpp     f(c, x) = x + c + 3;
f                  30 test/correctness/gpu_assertion_in_kernel.cpp     f.bound(c, 0, 3).unroll(c);
f                  33 test/correctness/gpu_assertion_in_kernel.cpp     g(c, x) = f(c, x) * 8;
f                  37 test/correctness/gpu_assertion_in_kernel.cpp     f.compute_at(g, x).gpu_threads(x);
f                  16 test/correctness/gpu_cpu_simultaneous_read.cpp     Func f, g, h;
f                  22 test/correctness/gpu_cpu_simultaneous_read.cpp     f(x, y) = x*2 + y + table(x);
f                  24 test/correctness/gpu_cpu_simultaneous_read.cpp     h(x, y) = select(table(0) == 0, f(x, y), g(x, y));
f                  26 test/correctness/gpu_cpu_simultaneous_read.cpp     f.compute_root().gpu_tile(x, y, xi, yi, 8, 8);
f                  28 test/correctness/gpu_data_flows.cpp         Func f, g, out;
f                  30 test/correctness/gpu_data_flows.cpp         f(x) = in(x) + 1;
f                  31 test/correctness/gpu_data_flows.cpp         g(x) = f(x) * 2;
f                  34 test/correctness/gpu_data_flows.cpp         f.compute_root();
f                  63 test/correctness/gpu_data_flows.cpp         Func f, out;
f                  65 test/correctness/gpu_data_flows.cpp         f(x) = in(x) + 1;
f                  66 test/correctness/gpu_data_flows.cpp         out(x) = f(x) * 2;
f                  69 test/correctness/gpu_data_flows.cpp             f.compute_root().gpu_tile(x, xi, 16);
f                  72 test/correctness/gpu_data_flows.cpp             f.compute_root().hexagon();
f                  12 test/correctness/gpu_dynamic_shared.cpp     Func f("f"), g("g");
f                  15 test/correctness/gpu_dynamic_shared.cpp     f(x) = x;
f                  16 test/correctness/gpu_dynamic_shared.cpp     g(x) = f(x) + f(2*x);
f                  19 test/correctness/gpu_dynamic_shared.cpp     f.compute_at(g, x).gpu_threads(x);
f                   9 test/correctness/gpu_free_sync.cpp     Func f;
f                  12 test/correctness/gpu_free_sync.cpp     f(x, y) = sum(sqrt(sqrt(sqrt(sqrt(x+y+r)))));
f                  18 test/correctness/gpu_free_sync.cpp         f.gpu_tile(x, y, xi, yi, 16, 16);
f                  24 test/correctness/gpu_free_sync.cpp             f.realize(1024, 1024, t);
f                  27 test/correctness/gpu_give_input_buffers_device_allocations.cpp     Func f;
f                  29 test/correctness/gpu_give_input_buffers_device_allocations.cpp     f(x, y) = in(x, y);
f                  30 test/correctness/gpu_give_input_buffers_device_allocations.cpp     f.gpu_tile(x, y, xi, yi, 8, 8);
f                  31 test/correctness/gpu_give_input_buffers_device_allocations.cpp     Buffer<float> out = f.realize(100, 100);
f                  45 test/correctness/gpu_give_input_buffers_device_allocations.cpp     f.realize(out);
f                  37 test/correctness/gpu_jit_explicit_copy_to_device.cpp         Func f;
f                  39 test/correctness/gpu_jit_explicit_copy_to_device.cpp         f(x, y) = a(x, y) + b(x, y) + 2;
f                  40 test/correctness/gpu_jit_explicit_copy_to_device.cpp         f.gpu_tile(x, y, tx, ty, 8, 8, TailStrategy::Auto, d);
f                  42 test/correctness/gpu_jit_explicit_copy_to_device.cpp         Buffer<float> out = f.realize(100, 100);
f                  44 test/correctness/gpu_jit_explicit_copy_to_device.cpp         out.for_each_value([&](float f) {
f                  45 test/correctness/gpu_jit_explicit_copy_to_device.cpp             if (f != 7.0f) {
f                  46 test/correctness/gpu_jit_explicit_copy_to_device.cpp                 printf("%f != 4.0f\n", f);
f                  10 test/correctness/gpu_large_alloc.cpp     Func f, g;
f                  20 test/correctness/gpu_large_alloc.cpp     f(x, y) = max(x, y);
f                  21 test/correctness/gpu_large_alloc.cpp     g(x, y) = clamp(f(x, y), 20, 100);
f                  26 test/correctness/gpu_large_alloc.cpp         f.compute_root().gpu_tile(x, y, xi, yi, 16, 16);
f                  13 test/correctness/gpu_mixed_dimensionality.cpp     Func f("f"), g("g"), h("h"), out("out");
f                  16 test/correctness/gpu_mixed_dimensionality.cpp     f(x, y, z) = x + y + z;
f                  17 test/correctness/gpu_mixed_dimensionality.cpp     f(x, y, z) += 1;
f                  18 test/correctness/gpu_mixed_dimensionality.cpp     g(x, y, z) = f(x, y, z);
f                  32 test/correctness/gpu_mixed_dimensionality.cpp     f.compute_at(g, x);
f                  33 test/correctness/gpu_mixed_dimensionality.cpp     f.update();
f                  42 test/correctness/gpu_non_contiguous_copy.cpp     Func f;
f                  43 test/correctness/gpu_non_contiguous_copy.cpp     f(x, y, z, w) = 3*x + 2*y + z + 4*w;
f                  46 test/correctness/gpu_non_contiguous_copy.cpp         f.gpu_tile(x, y, xi, yi, 16, 16);
f                  48 test/correctness/gpu_non_contiguous_copy.cpp         f.hexagon().vectorize(x, 16);
f                  50 test/correctness/gpu_non_contiguous_copy.cpp     f.output_buffer().dim(0).set_stride(Expr());
f                  51 test/correctness/gpu_non_contiguous_copy.cpp     f.realize(cropped);
f                  29 test/correctness/gpu_object_lifetime_1.cpp         Func f;
f                  30 test/correctness/gpu_object_lifetime_1.cpp         f(x) = x;
f                  33 test/correctness/gpu_object_lifetime_1.cpp             f.gpu_tile(x, xi, 32);
f                  35 test/correctness/gpu_object_lifetime_1.cpp             f.hexagon();
f                  37 test/correctness/gpu_object_lifetime_1.cpp         f.set_custom_print(halide_print);
f                  39 test/correctness/gpu_object_lifetime_1.cpp         Buffer<int32_t> result = f.realize(256, target);
f                  30 test/correctness/gpu_object_lifetime_2.cpp         Func f, g, h;
f                  31 test/correctness/gpu_object_lifetime_2.cpp         f(x) = x;
f                  32 test/correctness/gpu_object_lifetime_2.cpp         g(x) = f(x);
f                  35 test/correctness/gpu_object_lifetime_2.cpp         f.compute_root();
f                  33 test/correctness/gpu_object_lifetime_3.cpp         Func f[stage_count];
f                  34 test/correctness/gpu_object_lifetime_3.cpp         f[0](x) = x;
f                  36 test/correctness/gpu_object_lifetime_3.cpp             f[i](x) = f[i - 1](x);
f                  40 test/correctness/gpu_object_lifetime_3.cpp             f[i].compute_root();
f                  44 test/correctness/gpu_object_lifetime_3.cpp                     f[i].gpu_tile(x, xi, 32);
f                  46 test/correctness/gpu_object_lifetime_3.cpp                     f[i].hexagon();
f                  51 test/correctness/gpu_object_lifetime_3.cpp         Func output = f[stage_count - 1];
f                  13 test/correctness/gpu_specialize.cpp         Func f("f"), g("g"), h("h");
f                  18 test/correctness/gpu_specialize.cpp         f(x, y) = x + y;
f                  19 test/correctness/gpu_specialize.cpp         g(x, y) = f(x-1, y+1) + f(x+1, y-1) + x;
f                  47 test/correctness/gpu_specialize.cpp         f.compute_at(g, xi);
f                  73 test/correctness/gpu_specialize.cpp         Func f("f"), g("g"), h("h");
f                  78 test/correctness/gpu_specialize.cpp         f(x, y) = x + y;
f                  79 test/correctness/gpu_specialize.cpp         g(x, y) = f(x, y) + x;
f                  82 test/correctness/gpu_specialize.cpp         f.specialize(p).tile(x, y, xi, yi, 4, 4).gpu_threads(x, y);
f                  83 test/correctness/gpu_specialize.cpp         f.tile(x, y, xo, yo, xi, yi, 8, 8).gpu_threads(xo, yo);
f                  85 test/correctness/gpu_specialize.cpp         f.compute_at(g, x);
f                  12 test/correctness/gpu_sum_scan.cpp     Func f;
f                  21 test/correctness/gpu_sum_scan.cpp     f(x, y) = 0;
f                  23 test/correctness/gpu_sum_scan.cpp     f.compute_root().gpu_blocks(y).gpu_threads(x);
f                  27 test/correctness/gpu_sum_scan.cpp     f(r1, y) = im(y*B + r1) + f(r1-1, y);
f                  28 test/correctness/gpu_sum_scan.cpp     f.update(0).gpu_blocks(y);
f                  32 test/correctness/gpu_sum_scan.cpp     f(-1, r2) = f(B-1, r2-1) + f(-1, r2-1);
f                  33 test/correctness/gpu_sum_scan.cpp     f.update(1).gpu_single_thread();
f                  37 test/correctness/gpu_sum_scan.cpp     f(r3, y) += f(-1, y);
f                  38 test/correctness/gpu_sum_scan.cpp     f.update(2).gpu_blocks(y).gpu_threads(r3);
f                  42 test/correctness/gpu_sum_scan.cpp     out(x) = f(x % B, x / B);
f                  50 test/correctness/gpu_thread_barrier.cpp         Func f;
f                  56 test/correctness/gpu_thread_barrier.cpp         f(x, y) = x + 100 * y;
f                  62 test/correctness/gpu_thread_barrier.cpp             f(rx + 10, y) = f(9 - rx, y);
f                  63 test/correctness/gpu_thread_barrier.cpp             f(rx, y) = f(rx + 10, y);
f                  66 test/correctness/gpu_thread_barrier.cpp             f(x, ry + 8) = f(x, 7 - ry);
f                  67 test/correctness/gpu_thread_barrier.cpp             f(x, ry) = f(x, ry + 8);
f                  71 test/correctness/gpu_thread_barrier.cpp         g(x, y) = f(0, 0)+ f(9, 7);
f                  75 test/correctness/gpu_thread_barrier.cpp         f.compute_at(g, x);
f                  78 test/correctness/gpu_thread_barrier.cpp             f.update(i*4 + 0).gpu_threads(y);
f                  79 test/correctness/gpu_thread_barrier.cpp             f.update(i*4 + 1).gpu_threads(y);
f                  80 test/correctness/gpu_thread_barrier.cpp             f.update(i*4 + 2).gpu_threads(x);
f                  81 test/correctness/gpu_thread_barrier.cpp             f.update(i*4 + 3).gpu_threads(x);
f                 102 test/correctness/gpu_thread_barrier.cpp         Func f;
f                 104 test/correctness/gpu_thread_barrier.cpp         f(x, y) = undef<int>();
f                 105 test/correctness/gpu_thread_barrier.cpp         f(x, y) += x + 100 * y;
f                 111 test/correctness/gpu_thread_barrier.cpp         f(x, y) += undef<int>();
f                 112 test/correctness/gpu_thread_barrier.cpp         f(x, y) += y * 100 + x;
f                 115 test/correctness/gpu_thread_barrier.cpp         g(x, y) = f(0, 0) + f(7, 7);
f                 119 test/correctness/gpu_thread_barrier.cpp         f.compute_at(g, x);
f                 121 test/correctness/gpu_thread_barrier.cpp         f.gpu_threads(x, y);
f                 122 test/correctness/gpu_thread_barrier.cpp         f.update(0).gpu_threads(x, y);
f                 123 test/correctness/gpu_thread_barrier.cpp         f.update(1).gpu_threads(x, y);
f                 124 test/correctness/gpu_thread_barrier.cpp         f.update(2).gpu_threads(x, y);
f                  10 test/correctness/gpu_vectorized_shared_memory.cpp         Func f, g, h;
f                  13 test/correctness/gpu_vectorized_shared_memory.cpp         f(x) = x;
f                  14 test/correctness/gpu_vectorized_shared_memory.cpp         g(x) = f(x-1) + f(x+1);
f                  19 test/correctness/gpu_vectorized_shared_memory.cpp         f.compute_root();
f                  78 test/correctness/halide_buffer.cpp         Buffer<float, 2> f(e);       // runtime checks
f                  47 test/correctness/handle.cpp         Func f, g, h;
f                  49 test/correctness/handle.cpp         f(x) = cast<char *>(msg);
f                  50 test/correctness/handle.cpp         f.compute_root().vectorize(x, 4);
f                  51 test/correctness/handle.cpp         g(x) = f(x);
f                  31 test/correctness/heap_cleanup.cpp     Func f, g, h;
f                  37 test/correctness/heap_cleanup.cpp     f(x) = x;
f                  38 test/correctness/heap_cleanup.cpp     f.compute_root();
f                  39 test/correctness/heap_cleanup.cpp     g(x) = f(x)+1;
f                  10 test/correctness/hello_gpu.cpp     Func f("f");
f                  14 test/correctness/hello_gpu.cpp     f(x, y) = x*y + 2.4f;
f                  18 test/correctness/hello_gpu.cpp         f.gpu_tile(x, y, xi, yi, 8, 8);
f                  23 test/correctness/hello_gpu.cpp     Buffer<float> imf = f.realize(32, 32, target);
f                  50 test/correctness/host_alignment.cpp         FindErrorHandler f;
f                  51 test/correctness/host_alignment.cpp         m.accept(&f);
f                  52 test/correctness/host_alignment.cpp         if (f.result) {
f                  78 test/correctness/host_alignment.cpp int count_host_alignment_asserts(Func f, std::map<string, int> m) {
f                  81 test/correctness/host_alignment.cpp     f.compute_root();
f                  82 test/correctness/host_alignment.cpp     Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t);
f                  98 test/correctness/host_alignment.cpp     Func f("f");
f                  99 test/correctness/host_alignment.cpp     f(x) = i1(x) + i2(x) + i3(x);
f                 100 test/correctness/host_alignment.cpp     f.output_buffer().set_host_alignment(128);
f                 102 test/correctness/host_alignment.cpp     int cnt = count_host_alignment_asserts(f, m);
f                  46 test/correctness/image_io.cpp     Func f;
f                  49 test/correctness/image_io.cpp         f(x, y, c) = random_float();
f                  53 test/correctness/image_io.cpp         f(x, y, c) = (g(x/2, y/2, c) +
f                  59 test/correctness/image_io.cpp     f.compute_root();
f                  60 test/correctness/image_io.cpp     return f;
f                  68 test/correctness/image_io.cpp     Func f;
f                  70 test/correctness/image_io.cpp     f(x, y, c) = cast<uint8_t>(clamp(make_noise(10)(x, y, c), 0.0f, 1.0f) * 255.0f);
f                  72 test/correctness/image_io.cpp     Buffer<uint8_t> color_buf = f.realize(width, height, 3);
f                  18 test/correctness/image_wrap.cpp         Func f("f");
f                  19 test/correctness/image_wrap.cpp         f(x, y) = img(x, y);
f                  23 test/correctness/image_wrap.cpp         Func wrapper = img.in(f);
f                  25 test/correctness/image_wrap.cpp             Func temp = img.in(f);
f                  35 test/correctness/image_wrap.cpp         Func f("f");
f                  36 test/correctness/image_wrap.cpp         f(x, y) = img(x, y);
f                  49 test/correctness/image_wrap.cpp         Func e("e"), f("f"), g("g"), h("h");
f                  51 test/correctness/image_wrap.cpp         f(x, y) = img(x, y);
f                  55 test/correctness/image_wrap.cpp         Func wrapper1 = img.in({e, f, g});
f                  56 test/correctness/image_wrap.cpp         Func wrapper2 = img.in({g, f, e});
f                 415 test/correctness/image_wrap.cpp     Func source("sourceo"), f("f"), g("g"), h("h");
f                 423 test/correctness/image_wrap.cpp     f(x, y) = img(x, y);
f                 424 test/correctness/image_wrap.cpp     g(x, y) = f(x, y);
f                 430 test/correctness/image_wrap.cpp     f.compute_at(g, y).vectorize(x, 8);
f                 432 test/correctness/image_wrap.cpp     Func img_in_f = img.in(f);
f                 435 test/correctness/image_wrap.cpp     img_in_f.compute_at(f, y).split(_0, xo, xi, 8);
f                 447 test/correctness/image_wrap.cpp         {g.name(), {f.name()}},
f                 448 test/correctness/image_wrap.cpp         {f.name(), {img_in_f.name()}},
f                  22 test/correctness/implicit_args.cpp     Func f;
f                  23 test/correctness/implicit_args.cpp     f(x, _) = im1(_) + im2(x, _) + im2(_);
f                  28 test/correctness/implicit_args.cpp     Buffer<int> result1 = f.realize(2, 2, 2, 2);
f                  45 test/correctness/implicit_args.cpp     assert(f.dimensions() == 4);
f                  48 test/correctness/implicit_args.cpp     g(_) = f(2, 2, _) + im2(Expr(1), _);
f                  49 test/correctness/implicit_args.cpp     f.compute_root();
f                  32 test/correctness/implicit_args_tests.cpp         Func f("f"), h("h");
f                  37 test/correctness/implicit_args_tests.cpp         f(x, _) = h(_) + 2;     // This means f(x, _0, _1) = h(_0, _1) + 2
f                  39 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                  50 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                  55 test/correctness/implicit_args_tests.cpp         f(x, y, z) = x;
f                  56 test/correctness/implicit_args_tests.cpp         f.compute_root();
f                  60 test/correctness/implicit_args_tests.cpp         g(clamp(f(r.x, _), 0, 50), _) += 2;   // This means g(f(r.x, _0, _1), _0, _1) += 2
f                  73 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                  81 test/correctness/implicit_args_tests.cpp         f(x, _) = h(_) + 3;     // This means f(x, _0, _1) = h(_0, _1) + 3
f                  82 test/correctness/implicit_args_tests.cpp         f(x, _) += h(_)*g(_);   // This means f(x, _0, _1) += h(_0, _1) * g(_0)
f                  84 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                  95 test/correctness/implicit_args_tests.cpp         Func f("f"), h("h");
f                 103 test/correctness/implicit_args_tests.cpp         f(x, _) += h(_) + 2;
f                 105 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                 116 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                 127 test/correctness/implicit_args_tests.cpp         f(_) += h(_)*g(_) + 3;
f                 129 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100);
f                 140 test/correctness/implicit_args_tests.cpp         Func f("f"), h("h");
f                 146 test/correctness/implicit_args_tests.cpp         f(x, _) = Tuple(h(_) + 2, x + 2);
f                 148 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                 162 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                 167 test/correctness/implicit_args_tests.cpp         f(x, y, z) = x;
f                 168 test/correctness/implicit_args_tests.cpp         f.compute_root();
f                 174 test/correctness/implicit_args_tests.cpp         g(clamp(f(r.x, _), 0, 50), _) += Tuple(2);
f                 187 test/correctness/implicit_args_tests.cpp         Func f("f"), h("h");
f                 195 test/correctness/implicit_args_tests.cpp         f(x, _) *= Tuple(h(_) + 2, h(_) * 3);
f                 197 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                 211 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                 220 test/correctness/implicit_args_tests.cpp         f(x, _) = Tuple(h(_)[0] + 3, h(_)[1] + 4);
f                 222 test/correctness/implicit_args_tests.cpp         f(x, _) += Tuple(h(_)[0]*g(_)[0], h(_)[1]*g(_)[1]);
f                 224 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100, 100);
f                 238 test/correctness/implicit_args_tests.cpp         Func f("f"), g("g"), h("h");
f                 249 test/correctness/implicit_args_tests.cpp         f(_) += Tuple(h(_)[0]*g(_)[0] + 3, h(_)[1]*g(_)[1] + 4);
f                 251 test/correctness/implicit_args_tests.cpp         Realization result = f.realize(100, 100);
f                   7 test/correctness/in_place.cpp     Func f;
f                  13 test/correctness/in_place.cpp     f(x) = undef<float>();
f                  17 test/correctness/in_place.cpp     f(r) += f(r-1);
f                  22 test/correctness/in_place.cpp     f.realize(data);
f                  31 test/correctness/infer_arguments.cpp         Func f("f");
f                  32 test/correctness/infer_arguments.cpp         f(x, y, c) = frac * (input1(clamp(x, 0, height), clamp(y, 0, width), c) +
f                  35 test/correctness/infer_arguments.cpp         std::vector<Argument> args = f.infer_arguments();
f                  24 test/correctness/input_image_bounds_check.cpp     Func f;
f                  25 test/correctness/input_image_bounds_check.cpp     f(x) = input(x)*2;
f                  27 test/correctness/input_image_bounds_check.cpp     f.set_error_handler(&halide_error);
f                  30 test/correctness/input_image_bounds_check.cpp     f.realize(23);
f                  15 test/correctness/integer_powers.cpp     Func f;
f                  24 test/correctness/interleave.cpp int count_interleaves(Func f) {
f                  28 test/correctness/interleave.cpp     f.compute_root();
f                  30 test/correctness/interleave.cpp     Stmt s = Internal::lower_main_stmt({f.function()}, f.name(), t);
f                  36 test/correctness/interleave.cpp void check_interleave_count(Func f, int correct) {
f                  37 test/correctness/interleave.cpp     int c = count_interleaves(f);
f                  40 test/correctness/interleave.cpp                f.name().c_str(), correct, c);
f                  45 test/correctness/interleave.cpp void define(FuncRef f, std::vector<Expr> values) {
f                  47 test/correctness/interleave.cpp         f = values[0];
f                  49 test/correctness/interleave.cpp         f = Tuple(values);
f                  53 test/correctness/interleave.cpp void define(FuncRef f, Expr value, int count) {
f                  58 test/correctness/interleave.cpp     define(f, values);
f                  61 test/correctness/interleave.cpp Expr element(FuncRef f, int i) {
f                  62 test/correctness/interleave.cpp     if (f.size() == 1) {
f                  64 test/correctness/interleave.cpp         return f;
f                  66 test/correctness/interleave.cpp         return f[i];
f                  89 test/correctness/interleave.cpp         Func f, g, h;
f                  95 test/correctness/interleave.cpp         define(f(x), f_def);
f                  99 test/correctness/interleave.cpp             h_def.push_back(select(x % 2 == 0, 1.0f/element(f(x/2), i), element(g(x/2), i)*17.0f));
f                 104 test/correctness/interleave.cpp         f.compute_root();
f                  87 test/correctness/introspection.cpp     float f;
f                 114 test/correctness/introspection.cpp     Foo::f(17);
f                 130 test/correctness/introspection.cpp     check(&(obj->f), "float", "f", __FILE__, __LINE__);
f                   7 test/correctness/isnan.cpp     Func f;
f                  12 test/correctness/isnan.cpp     f(x, y) = select(is_nan(e), 0.0f, 1.0f);
f                  13 test/correctness/isnan.cpp     f.vectorize(x, 8);
f                  17 test/correctness/isnan.cpp     Buffer<float> im = f.realize(w, h);
f                  16 test/correctness/iterate_over_circle.cpp     Func f;
f                  24 test/correctness/iterate_over_circle.cpp     f(x, y) = 0;
f                  28 test/correctness/iterate_over_circle.cpp     f(x, y) += select(x > -t && x < t, in(x, y), 0);
f                  31 test/correctness/iterate_over_circle.cpp     f.set_custom_trace(my_trace);
f                  32 test/correctness/iterate_over_circle.cpp     f.realize(20, 20);
f                   8 test/correctness/lambda.cpp     Func f;
f                  10 test/correctness/lambda.cpp     f(x, y) = x*y;
f                  17 test/correctness/lambda.cpp     Buffer<int32_t> im = lambda(f(_) - g(_) + lambda(x, y, x+y)(_)).realize(10, 10);
f                  22 test/correctness/lazy_convolution.cpp     Func f;
f                  24 test/correctness/lazy_convolution.cpp     f(x, y) = call_counter(sin(x*3 + y));
f                  31 test/correctness/lazy_convolution.cpp     blur(x, y) = select(f(x, y) > 0, sum(f(x+r.x, y+r.y)), 0);
f                  40 test/correctness/leak_device_memory.cpp             Func f;
f                  42 test/correctness/leak_device_memory.cpp             f(x, y) = copy(x, y);
f                  46 test/correctness/leak_device_memory.cpp                 f.gpu_tile(x, y, xi, yi, 8, 8);
f                  48 test/correctness/leak_device_memory.cpp                 f.hexagon();
f                  51 test/correctness/leak_device_memory.cpp             f.set_custom_print(halide_print);
f                  52 test/correctness/leak_device_memory.cpp             f.realize(50, 50, target);
f                   6 test/correctness/left_shift_negative.cpp     Func f, g;
f                   8 test/correctness/left_shift_negative.cpp     f(x) = cast<int16_t>(-x);
f                  11 test/correctness/left_shift_negative.cpp     f.compute_root();
f                  18 test/correctness/left_shift_negative.cpp     h1(x) = f(x) << g(x);
f                  24 test/correctness/left_shift_negative.cpp     h2(x) = f(x) * powers(x);
f                  11 test/correctness/legal_race_condition.cpp         Func f;
f                  15 test/correctness/legal_race_condition.cpp         f(x) = 0;
f                  16 test/correctness/legal_race_condition.cpp         f(r/2) = r/2;
f                  23 test/correctness/legal_race_condition.cpp         f.update().allow_race_conditions().parallel(r);
f                  25 test/correctness/legal_race_condition.cpp         Buffer<int> out = f.realize(100);
f                  40 test/correctness/legal_race_condition.cpp         Func f;
f                  52 test/correctness/legal_race_condition.cpp         f(x) = -1;
f                  53 test/correctness/legal_race_condition.cpp         f(permuted) = r;
f                  54 test/correctness/legal_race_condition.cpp         f.update().allow_race_conditions().vectorize(r, 4).parallel(r);
f                  56 test/correctness/legal_race_condition.cpp         Buffer<int> out = f.realize(256);
f                  30 test/correctness/likely.cpp     Counter(string f) : func(f), store_count(0), sin_count(0) {}
f                  69 test/correctness/likely.cpp     CheckStoreCount(string f, int c) : func(f), correct(c) {}
f                  83 test/correctness/likely.cpp     Func f;
f                  85 test/correctness/likely.cpp     f(x) = x;
f                  86 test/correctness/likely.cpp     f.compute_root();
f                  94 test/correctness/likely.cpp         Func g = BoundaryConditions::repeat_edge(f, 0, 100);
f                 104 test/correctness/likely.cpp         g(x) = f(x);
f                 131 test/correctness/likely.cpp         Func g = BoundaryConditions::mirror_interior(f, 0, 10);
f                 172 test/correctness/likely.cpp         g(x) = f(clamp(x, 0, 10)); // treated as clamp(likely(x), 0, 10)
f                  75 test/correctness/load_library.cpp     Func f;
f                  76 test/correctness/load_library.cpp     f(x, y) = cast<int32_t>(x + y);
f                  78 test/correctness/load_library.cpp     f.gpu_tile(x, y, xi, yi, 8, 8, TailStrategy::Auto, DeviceAPI::OpenCL);
f                  79 test/correctness/load_library.cpp     f.set_error_handler(my_error_handler);
f                  81 test/correctness/load_library.cpp     Buffer<int32_t> out = f.realize(64, 64, target);
f                  26 test/correctness/logical.cpp         Func f;
f                  27 test/correctness/logical.cpp         f(x, y) = select(((input(x, y) > 10) && (input(x, y) < 20)) ||
f                  33 test/correctness/logical.cpp             f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4);
f                  35 test/correctness/logical.cpp             f.hexagon().vectorize(x, 128);
f                  37 test/correctness/logical.cpp             f.vectorize(x, 8);
f                  40 test/correctness/logical.cpp         Buffer<uint8_t> output = f.realize(input.width(), input.height(), target);
f                  58 test/correctness/logical.cpp         Func f;
f                  60 test/correctness/logical.cpp         f(x, y) = select((common_cond && (input(x, y) < 20)) ||
f                  66 test/correctness/logical.cpp             f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4);
f                  68 test/correctness/logical.cpp             f.hexagon().vectorize(x, 128);
f                  70 test/correctness/logical.cpp             f.vectorize(x, 8);
f                  73 test/correctness/logical.cpp         Buffer<uint8_t> output = f.realize(input.width(), input.height(), target);
f                  91 test/correctness/logical.cpp         Func f("f");
f                  92 test/correctness/logical.cpp         f(x, y) = select(x < 10 || x > 20 || y < 10 || y > 20, 0, input(x, y));
f                  97 test/correctness/logical.cpp             f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4);
f                  99 test/correctness/logical.cpp             f.hexagon().vectorize(x, 128);
f                 101 test/correctness/logical.cpp             f.vectorize(x, 128);
f                 104 test/correctness/logical.cpp         Buffer<uint8_t> output = f.realize(input.width(), input.height(), target);
f                 120 test/correctness/logical.cpp         Func f;
f                 122 test/correctness/logical.cpp         f(x, y) = select(input(x, y) > ten, u8(255), u8(0));
f                 126 test/correctness/logical.cpp             f.gpu_tile(x, y, xi, yi, 16, 16).vectorize(xi, 4);
f                 128 test/correctness/logical.cpp             f.hexagon().vectorize(x, 128);
f                 130 test/correctness/logical.cpp             f.vectorize(x, 8);
f                 133 test/correctness/logical.cpp         Buffer<uint8_t> output = f.realize(input.width(), input.height(), target);
f                 161 test/correctness/logical.cpp             Func f;
f                 162 test/correctness/logical.cpp             f(x, y) = select(in_narrow(x, y) > 10, in_wide(x, y*2), in_wide(x, y*2+1));
f                 165 test/correctness/logical.cpp             cpu(x, y) = f(x, y);
f                 168 test/correctness/logical.cpp             gpu(x, y) = f(x, y);
f                  23 test/correctness/loop_invariant_extern_calls.cpp int not_really_parallel_for(void *ctx, int (*f)(void *, int, uint8_t *), int min, int extent, uint8_t *closure) {
f                  25 test/correctness/loop_invariant_extern_calls.cpp         f(ctx, i, closure);
f                  32 test/correctness/loop_invariant_extern_calls.cpp     Func f;
f                  34 test/correctness/loop_invariant_extern_calls.cpp     f(x, y) = my_func(0, Expr(0)) + my_func(1, y) + my_func(2, x*32 + y);
f                  38 test/correctness/loop_invariant_extern_calls.cpp     f.bound(x, 0, 32).bound(y, 0, 32);
f                  40 test/correctness/loop_invariant_extern_calls.cpp     Buffer<int> im = f.realize(32, 32);
f                  65 test/correctness/lots_of_dimensions.cpp         Func f, g, h;
f                  67 test/correctness/lots_of_dimensions.cpp         f(v0, v1, v2, v3, v4, v5, v6, v7) = pow(input(v0, v1, v2, v3, v4, v5, v6, v7), 2);
f                  68 test/correctness/lots_of_dimensions.cpp         g(v0, v1, v2, v3, v4, v5, v6, v7) = f(v0, v1, v2, v3, v4, v5, v6, v7) - 2;
f                  71 test/correctness/lots_of_dimensions.cpp         f.compute_root().parallel(v7);
f                  10 test/correctness/many_dimensions.cpp     Func f;
f                  18 test/correctness/many_dimensions.cpp     f(vars) = e;
f                  46 test/correctness/many_dimensions.cpp     g(x, y) = f(site1) + f(site2);
f                  48 test/correctness/many_dimensions.cpp     f.compute_at(g, x);
f                  52 test/correctness/many_small_extern_stages.cpp     Func f, g, h;
f                  55 test/correctness/many_small_extern_stages.cpp     f(x, y) = x*x + y;
f                  58 test/correctness/many_small_extern_stages.cpp     g.define_extern("copy", {f}, Int(32), 2);
f                  61 test/correctness/many_small_extern_stages.cpp     h(x, y) += r * (g(x, y) - f(x, y));
f                  63 test/correctness/many_small_extern_stages.cpp     f.compute_at(h, y);
f                   9 test/correctness/many_updates.cpp     Func f;
f                  11 test/correctness/many_updates.cpp     f(x, y) = x + y;
f                  13 test/correctness/many_updates.cpp         f(x, i) += 1;
f                  14 test/correctness/many_updates.cpp         f(i, y) += 1;
f                  16 test/correctness/many_updates.cpp     f.compute_root();
f                  18 test/correctness/many_updates.cpp     Buffer<int> im = f.realize(N, N);
f                  87 test/correctness/memoize.cpp         Func f, f_memoized;
f                  90 test/correctness/memoize.cpp         f() = f_memoized();
f                  93 test/correctness/memoize.cpp         Buffer<uint8_t> result1 = f.realize();
f                  94 test/correctness/memoize.cpp         Buffer<uint8_t> result2 = f.realize();
f                 108 test/correctness/memoize.cpp         Func f, g;
f                 110 test/correctness/memoize.cpp         f() = count_calls(coord, coord);
f                 111 test/correctness/memoize.cpp         f.compute_root().memoize();
f                 113 test/correctness/memoize.cpp         g(x, y) = f();
f                 145 test/correctness/memoize.cpp         Func f;
f                 147 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y) + count_calls(x, y);
f                 150 test/correctness/memoize.cpp         Buffer<uint8_t> out1 = f.realize(256, 256);
f                 151 test/correctness/memoize.cpp         Buffer<uint8_t> out2 = f.realize(256, 256);
f                 171 test/correctness/memoize.cpp         Func f;
f                 173 test/correctness/memoize.cpp         f(x, y) = count_calls_23(x, y) + count_calls_42(x, y);
f                 177 test/correctness/memoize.cpp         Buffer<uint8_t> out1 = f.realize(256, 256);
f                 178 test/correctness/memoize.cpp         Buffer<uint8_t> out2 = f.realize(256, 256);
f                 200 test/correctness/memoize.cpp         Func f;
f                 202 test/correctness/memoize.cpp         f(x, y) = count_calls_val1(x, y) + count_calls_val2(x, y);
f                 209 test/correctness/memoize.cpp         Buffer<uint8_t> out1 = f.realize(256, 256);
f                 210 test/correctness/memoize.cpp         Buffer<uint8_t> out2 = f.realize(256, 256);
f                 213 test/correctness/memoize.cpp         Buffer<uint8_t> out3 = f.realize(256, 256);
f                 216 test/correctness/memoize.cpp         Buffer<uint8_t> out4 = f.realize(256, 256);
f                 219 test/correctness/memoize.cpp         Buffer<uint8_t> out5 = f.realize(256, 256);
f                 222 test/correctness/memoize.cpp         Buffer<uint8_t> out6 = f.realize(256, 256);
f                 245 test/correctness/memoize.cpp         Func f;
f                 247 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y) + count_calls(x, y);
f                 251 test/correctness/memoize.cpp         Buffer<uint8_t> out1 = f.realize(256, 256);
f                 253 test/correctness/memoize.cpp         Buffer<uint8_t> out2 = f.realize(256, 256);
f                 271 test/correctness/memoize.cpp         Func f;
f                 273 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y) + count_calls(x, y);
f                 277 test/correctness/memoize.cpp         Buffer<uint8_t> out1 = f.realize(256, 256);
f                 279 test/correctness/memoize.cpp         Buffer<uint8_t> out2 = f.realize(256, 256);
f                 298 test/correctness/memoize.cpp         Func f, g, h;
f                 301 test/correctness/memoize.cpp         f(x) = count_calls(x, 0) + cast<uint8_t>(x);
f                 302 test/correctness/memoize.cpp         g(x) = f(x);
f                 305 test/correctness/memoize.cpp         f.compute_root().memoize();
f                 330 test/correctness/memoize.cpp         Func f;
f                 332 test/correctness/memoize.cpp         f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x);
f                 334 test/correctness/memoize.cpp         f.compute_root().memoize();
f                 337 test/correctness/memoize.cpp         g(x, y) = Tuple(f(x, y)[0] + f(x - 1, y)[0] + f(x + 1, y)[0], f(x, y)[1]);
f                 373 test/correctness/memoize.cpp         Func f;
f                 375 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y) + cast<uint8_t>(x);
f                 379 test/correctness/memoize.cpp         g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y);
f                 408 test/correctness/memoize.cpp         Func f;
f                 410 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y) + cast<uint8_t>(x);
f                 414 test/correctness/memoize.cpp         g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y);
f                 465 test/correctness/memoize.cpp         Func f;
f                 469 test/correctness/memoize.cpp         f(x, y) = count_calls(x, y % 4, memoize_tag(y / 16, 0)) + cast<uint8_t>(x);
f                 472 test/correctness/memoize.cpp         g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y);
f                 473 test/correctness/memoize.cpp         count_calls.compute_at(f, y).memoize();
f                 474 test/correctness/memoize.cpp         f.compute_at(g, y).memoize();
f                 499 test/correctness/memoize.cpp         Func f;
f                 501 test/correctness/memoize.cpp         f(x, y) = cast<uint8_t>((x << 8) + y);
f                 503 test/correctness/memoize.cpp         Func prev_func = f;
f                 517 test/correctness/memoize.cpp         f.compute_root();
f                 557 test/correctness/memoize.cpp         Func f;
f                 559 test/correctness/memoize.cpp         f(x, y) = Tuple(count_calls(x, y) + cast<uint8_t>(x), x);
f                 561 test/correctness/memoize.cpp         f.compute_root().memoize();
f                 564 test/correctness/memoize.cpp         g(x, y) = Tuple(f(x, y)[0] + f(x - 1, y)[0] + f(x + 1, y)[0], f(x, y)[1]);
f                  10 test/correctness/min_extent.cpp     Func f("f");
f                  18 test/correctness/min_extent.cpp     f(x) = factor * x;
f                  36 test/correctness/min_extent.cpp     f.realize(out);
f                   9 test/correctness/mod.cpp     Func f;
f                  10 test/correctness/mod.cpp     f(x) = cast<T>(x) % 2;
f                  12 test/correctness/mod.cpp     Buffer<T> im = f.realize(16);
f                 293 test/correctness/mul_div_mod.cpp     Func f;
f                 295 test/correctness/mul_div_mod.cpp     f(x, y) = cast(rt, a(x, y)) * cast(rt, b(x, y));
f                 297 test/correctness/mul_div_mod.cpp         f.vectorize(x, vector_width);
f                 303 test/correctness/mul_div_mod.cpp             f.compute_root().gpu_tile(x, y, xi, yi, 16, 16);
f                 306 test/correctness/mul_div_mod.cpp             f.compute_root().hexagon();
f                 310 test/correctness/mul_div_mod.cpp     Buffer<RT> r = f.realize(WIDTH, HEIGHT, target);
f                 378 test/correctness/mul_div_mod.cpp     Func f;
f                 380 test/correctness/mul_div_mod.cpp     f(x, y) = Tuple(a(x, y) / b(x, y), a(x, y) % b(x, y));  // Using Halide division operation.
f                 382 test/correctness/mul_div_mod.cpp         f.vectorize(x, vector_width);
f                 388 test/correctness/mul_div_mod.cpp             f.compute_root().gpu_tile(x, y, xi, yi, 16, 16);
f                 391 test/correctness/mul_div_mod.cpp             f.compute_root().hexagon();
f                 395 test/correctness/mul_div_mod.cpp     Realization R = f.realize(WIDTH, HEIGHT, target);
f                 475 test/correctness/mul_div_mod.cpp     Func f;
f                 476 test/correctness/mul_div_mod.cpp     f(_) = a(_) % b(_);  // Using Halide mod operation.
f                 477 test/correctness/mul_div_mod.cpp     f.realize(out);
f                 582 test/correctness/mul_div_mod.cpp         auto f = pool.async(test_mul, vector_width, scheduling, target);
f                 583 test/correctness/mul_div_mod.cpp         futures.push_back(std::move(f));
f                 588 test/correctness/mul_div_mod.cpp         auto f = pool.async(test_div_mod, vector_width, scheduling, target);
f                 589 test/correctness/mul_div_mod.cpp         futures.push_back(std::move(f));
f                 595 test/correctness/mul_div_mod.cpp     for (auto &f : futures) {
f                 596 test/correctness/mul_div_mod.cpp         success &= f.get();
f                  13 test/correctness/multi_output_pipeline_with_bad_sizes.cpp     Func f;
f                  15 test/correctness/multi_output_pipeline_with_bad_sizes.cpp     f(x) = Tuple(x, sin(x));
f                  21 test/correctness/multi_output_pipeline_with_bad_sizes.cpp     f.set_error_handler(&halide_error);
f                  25 test/correctness/multi_output_pipeline_with_bad_sizes.cpp     f.realize(r);
f                  11 test/correctness/multi_pass_reduction.cpp         Func f;
f                  13 test/correctness/multi_pass_reduction.cpp         f(x) = sin(x);
f                  18 test/correctness/multi_pass_reduction.cpp         f(xl) = f(xl - 1) + f(xl);
f                  19 test/correctness/multi_pass_reduction.cpp         f(xr) = f(xr + 1) + f(xr);
f                  21 test/correctness/multi_pass_reduction.cpp         Buffer<float> result = f.realize(11);
f                  48 test/correctness/multi_pass_reduction.cpp         Func f, g;
f                  50 test/correctness/multi_pass_reduction.cpp         f(x) = x;
f                  54 test/correctness/multi_pass_reduction.cpp         f(r) = f(r) + f(r-1);
f                  57 test/correctness/multi_pass_reduction.cpp         f(17) = 8;
f                  58 test/correctness/multi_pass_reduction.cpp         f(109) = 4;
f                  62 test/correctness/multi_pass_reduction.cpp         f(r2) = g(r2);
f                  64 test/correctness/multi_pass_reduction.cpp         g.compute_at(f, r2);
f                  65 test/correctness/multi_pass_reduction.cpp         Buffer<int> result = f.realize(110);
f                  92 test/correctness/multi_pass_reduction.cpp         Func f;
f                  93 test/correctness/multi_pass_reduction.cpp         f(x) = 1;
f                  95 test/correctness/multi_pass_reduction.cpp             f(i) = f(i-1) + f(i-2);
f                  98 test/correctness/multi_pass_reduction.cpp         Buffer<int> result = f.realize(20);
f                 115 test/correctness/multi_pass_reduction.cpp         Func f;
f                 116 test/correctness/multi_pass_reduction.cpp         f(x, y) = sin(x + y);
f                 119 test/correctness/multi_pass_reduction.cpp         f(x, r) += f(x, r - 1);
f                 120 test/correctness/multi_pass_reduction.cpp         f(r, y) += f(r - 1, y);
f                 123 test/correctness/multi_pass_reduction.cpp         f.update(0).vectorize(x, 4);
f                 128 test/correctness/multi_pass_reduction.cpp         f.update(1).reorder(Var(r.x.name()), y).parallel(y);
f                 130 test/correctness/multi_pass_reduction.cpp         Buffer<float> result = f.realize(100, 100);
f                  12 test/correctness/multi_splits_with_diff_tail_strategies.cpp     Func f("f"), input("input");
f                  15 test/correctness/multi_splits_with_diff_tail_strategies.cpp     f(x, y, c) = x + y + c;
f                  17 test/correctness/multi_splits_with_diff_tail_strategies.cpp     f.reorder(c, x, y);
f                  19 test/correctness/multi_splits_with_diff_tail_strategies.cpp     f.split(y, yo, yi, 2, TailStrategy::RoundUp);
f                  22 test/correctness/multi_splits_with_diff_tail_strategies.cpp     f.split(yo, yoo, yoi, 64, TailStrategy::GuardWithIf);
f                  24 test/correctness/multi_splits_with_diff_tail_strategies.cpp     Buffer<int> im = f.realize(3000, 2000, 3);
f                   7 test/correctness/multi_way_select.cpp     Func f;
f                  12 test/correctness/multi_way_select.cpp     f(x) = select(x == 0, cases[0],
f                  28 test/correctness/multi_way_select.cpp     uint32_t err = evaluate_may_gpu<uint32_t>(sum(abs(g(r) - f(r))));
f                  11 test/correctness/multiple_outputs.cpp         Func f, g;
f                  13 test/correctness/multiple_outputs.cpp         f(x) = {x, sin(x)};
f                  15 test/correctness/multiple_outputs.cpp         f.compute_root();
f                  17 test/correctness/multiple_outputs.cpp         Tuple t = f(x);
f                  29 test/correctness/multiple_outputs.cpp         Func f, g;
f                  31 test/correctness/multiple_outputs.cpp         f(x, y) = sin(x*y);
f                  32 test/correctness/multiple_outputs.cpp         f.compute_root();
f                  37 test/correctness/multiple_outputs.cpp         g() = Tuple(0, 0, f(0, 0));
f                  40 test/correctness/multiple_outputs.cpp         Expr next_value = f(r.x, r.y);
f                  61 test/correctness/multiple_outputs.cpp         Func f, g;
f                  63 test/correctness/multiple_outputs.cpp         f(x) = 100*x;
f                  67 test/correctness/multiple_outputs.cpp             f.gpu_tile(x, xi, 8);
f                  73 test/correctness/multiple_outputs.cpp         Pipeline({f, g}).realize({f_im, g_im});
f                  98 test/correctness/multiple_outputs.cpp         Func f, g;
f                 100 test/correctness/multiple_outputs.cpp         f(x) = cast<float>(100*x);
f                 104 test/correctness/multiple_outputs.cpp             f.gpu_tile(x, xi, 8);
f                 108 test/correctness/multiple_outputs.cpp         Realization r = Pipeline({f, g}).realize(100);
f                 137 test/correctness/multiple_outputs.cpp         Func f, g, h;
f                 140 test/correctness/multiple_outputs.cpp         f(x) = x;
f                 141 test/correctness/multiple_outputs.cpp         h(x) = {f(x) + 17, f(x) - 17};
f                 142 test/correctness/multiple_outputs.cpp         g(x, y) = {f(x + y) * 2, h(x)[0] * y, h(x)[1] - 2};
f                 150 test/correctness/multiple_outputs.cpp         Pipeline({h, g, f}).realize({h_im0, h_im1, g_im0, g_im1, g_im2, f_im});
f                  14 test/correctness/named_updates.cpp     Func f;
f                  21 test/correctness/named_updates.cpp             f(x) = x;
f                  24 test/correctness/named_updates.cpp             f(0) = 1;
f                  27 test/correctness/named_updates.cpp             f(r*2) = 13,
f                  28 test/correctness/named_updates.cpp             f(r*4) = 14
f                  34 test/correctness/named_updates.cpp             f(3*r) = 4,
f                  35 test/correctness/named_updates.cpp             f(2*r) = 8,
f                  36 test/correctness/named_updates.cpp             f(5*r) = 2
f                  39 test/correctness/named_updates.cpp         f.compute_root();
f                  61 test/correctness/named_updates.cpp     Buffer<int> result = f.realize(128);
f                  21 test/correctness/newtons_method.cpp     Func f;
f                  22 test/correctness/newtons_method.cpp     f() = cast<T>(3);
f                  24 test/correctness/newtons_method.cpp     Expr value = sin(f());
f                  25 test/correctness/newtons_method.cpp     Expr deriv = cos(f());
f                  30 test/correctness/newtons_method.cpp     f() -= value/deriv + (r*0);
f                  32 test/correctness/newtons_method.cpp     T newton_result = evaluate_may_gpu<T>(f());
f                  15 test/correctness/obscure_image_references.cpp     Func f;
f                  17 test/correctness/obscure_image_references.cpp     f(x) = x + im1.width();
f                  19 test/correctness/obscure_image_references.cpp     f(r) = 37;
f                  25 test/correctness/obscure_image_references.cpp     Buffer<int> result = f.realize(100);
f                   8 test/correctness/oddly_sized_output.cpp     Func f;
f                  10 test/correctness/oddly_sized_output.cpp     f(x, y) = input(x, y)*2;
f                  13 test/correctness/oddly_sized_output.cpp     f.vectorize(x, 4).unroll(x, 3).unroll(x, 2);
f                  14 test/correctness/oddly_sized_output.cpp     f.split(y, y, yi, 16).parallel(y);
f                  16 test/correctness/oddly_sized_output.cpp     Buffer<int> out = f.realize(87, 93);
f                  46 test/correctness/out_of_memory.cpp         Func f;
f                  47 test/correctness/out_of_memory.cpp         f(x) = funcs[i](0) + funcs[i](big);
f                  48 test/correctness/out_of_memory.cpp         funcs[i].compute_at(f, x);
f                  49 test/correctness/out_of_memory.cpp         funcs.push_back(f);
f                   8 test/correctness/parallel.cpp     Func f;
f                  13 test/correctness/parallel.cpp     f(x) = x*k;
f                  15 test/correctness/parallel.cpp     f.parallel(x);
f                  17 test/correctness/parallel.cpp     Buffer<int> im = f.realize(16);
f                  10 test/correctness/parallel_alloc.cpp         Func f, g;
f                  13 test/correctness/parallel_alloc.cpp         f(x, y) = g(x-1, y) + g(x+1, y);
f                  15 test/correctness/parallel_alloc.cpp         g.compute_at(f, y);
f                  16 test/correctness/parallel_alloc.cpp         f.parallel(y);
f                  18 test/correctness/parallel_alloc.cpp         Buffer<int> im = f.realize(8, 8);
f                  19 test/correctness/parallel_alloc.cpp         f.realize(im);
f                  13 test/correctness/parallel_gpu_nested.cpp     Func f;
f                  18 test/correctness/parallel_gpu_nested.cpp     f(x, y, z) = x*y+z*k+1;
f                  21 test/correctness/parallel_gpu_nested.cpp     f.gpu_tile(x, y, xi, yi, 16, 16);
f                  22 test/correctness/parallel_gpu_nested.cpp     f.parallel(z);
f                  24 test/correctness/parallel_gpu_nested.cpp     Buffer<int> im = f.realize(64, 64, 64);
f                   8 test/correctness/parallel_nested.cpp     Func f;
f                  13 test/correctness/parallel_nested.cpp     f(x, y, z) = x*y+z*k+1;
f                  15 test/correctness/parallel_nested.cpp     f.parallel(x);
f                  16 test/correctness/parallel_nested.cpp     f.parallel(y);
f                  17 test/correctness/parallel_nested.cpp     f.parallel(z);
f                  19 test/correctness/parallel_nested.cpp     Buffer<int> im = f.realize(64, 64, 64);
f                   8 test/correctness/parallel_rvar.cpp     Func f[2];
f                  14 test/correctness/parallel_rvar.cpp         f[i](x, y) = x + y;
f                  20 test/correctness/parallel_rvar.cpp         f[i](r.x, r.y) += 1;
f                  21 test/correctness/parallel_rvar.cpp         f[i](r.x, r.y) += f[i](r.x + 20, r.y);
f                  23 test/correctness/parallel_rvar.cpp         f[i](2*r2 + 1, 0) += f[i](2*r2, 0);
f                  24 test/correctness/parallel_rvar.cpp         f[i](r2, 0) += f[i](r2-1, 1);
f                  27 test/correctness/parallel_rvar.cpp     f[0].compute_root();
f                  29 test/correctness/parallel_rvar.cpp     f[0].update(0).tile(r.x, r.y, rxo, ryo, rxi, ryi, 4, 2).fuse(rxo, ryo, rt).parallel(rt);
f                  30 test/correctness/parallel_rvar.cpp     f[0].update(1).parallel(r.x).parallel(r.y).unroll(r.y, 2);
f                  31 test/correctness/parallel_rvar.cpp     f[0].update(2).vectorize(r2, 4).unroll(r2);
f                  32 test/correctness/parallel_rvar.cpp     f[0].update(3).parallel(r2, 4);
f                  33 test/correctness/parallel_rvar.cpp     f[1].compute_root();
f                  36 test/correctness/parallel_rvar.cpp     int error = evaluate<int>(sum(f[0](r_check.x, r_check.y) - f[1](r_check.x, r_check.y)));
f                   9 test/correctness/param.cpp     Func f("f");
f                  24 test/correctness/param.cpp     f(x) = u;
f                  29 test/correctness/param.cpp         f.gpu_tile(x, xo, xi, 256);
f                  31 test/correctness/param.cpp         f.hexagon().vectorize(x, 32);
f                  35 test/correctness/param.cpp     Buffer<int> out_17 = f.realize(1024, target);
f                  41 test/correctness/param.cpp     Buffer<int> out_123 = f.realize(1024, target);
f                  14 test/correctness/parameter_constraints.cpp         Func f, g;
f                  25 test/correctness/parameter_constraints.cpp         f(x, y) = g(cast<int>(x/p), y);
f                  27 test/correctness/parameter_constraints.cpp         f.set_error_handler(my_error_handler);
f                  31 test/correctness/parameter_constraints.cpp         f.realize(100, 100);
f                  39 test/correctness/parameter_constraints.cpp         f.realize(100, 100);
f                  47 test/correctness/parameter_constraints.cpp         Func f, g;
f                  56 test/correctness/parameter_constraints.cpp         f(x, y) = g(cast<int>(x/p), y);
f                  58 test/correctness/parameter_constraints.cpp         f.set_error_handler(my_error_handler);
f                  61 test/correctness/parameter_constraints.cpp         f.realize(100, 100);
f                  69 test/correctness/parameter_constraints.cpp         f.realize(100, 100);
f                   8 test/correctness/partial_application.cpp     Func f, g;
f                  12 test/correctness/partial_application.cpp     f(x, y) = 2.0f;
f                  15 test/correctness/partial_application.cpp     g(x, _) = f(x, _) + f(x-1, _);
f                  19 test/correctness/partial_application.cpp     h(_) = (g(_) + f(_))*6.0f;
f                  25 test/correctness/partition_loops.cpp     Func f("f"), g("g"), h("h");
f                  29 test/correctness/partition_loops.cpp     f(x, y, c) = select(h(x, y) < x + y, x + y, y + c);
f                  31 test/correctness/partition_loops.cpp     f.compute_root();
f                  34 test/correctness/partition_loops.cpp     output(x, y, c) = cast<float>(f(x, y, c));
f                  27 test/correctness/pipeline_set_jit_externs_func.cpp     Func f;
f                  28 test/correctness/pipeline_set_jit_externs_func.cpp     f.define_extern("extern_func", args, Float(32), 2);
f                  30 test/correctness/pipeline_set_jit_externs_func.cpp     Pipeline p(f);
f                  85 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                  97 test/correctness/predicated_store_load.cpp     f(x, y) = 10;
f                  98 test/correctness/predicated_store_load.cpp     f(r.x, r.y) += g(2*r.x, r.y) + g(2*r.x + 1, r.y);
f                 102 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 104 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 105 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 108 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(170, 170);
f                 119 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 127 test/correctness/predicated_store_load.cpp     f(x, y) = select(x < 23, g(size-x, y) * 2 + g(20-x, y), undef<int>());
f                 131 test/correctness/predicated_store_load.cpp         f.hexagon().vectorize(x, 32);
f                 133 test/correctness/predicated_store_load.cpp         f.vectorize(x, 32);
f                 134 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 137 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(size, size);
f                 151 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 164 test/correctness/predicated_store_load.cpp     f(x, y) = 10;
f                 165 test/correctness/predicated_store_load.cpp     f(r.x, r.y) = g(size-r.x, r.y) * 2 + g(67-r.x, r.y);
f                 169 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 171 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 172 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 175 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(size, size);
f                 185 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 197 test/correctness/predicated_store_load.cpp     f(x, y) = 10;
f                 198 test/correctness/predicated_store_load.cpp     f(r.x, r.y) += 1 + max(g(0, 1), g(2*r.x + 1, r.y));
f                 202 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 204 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 205 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 208 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(160, 160);
f                 218 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 230 test/correctness/predicated_store_load.cpp     f(x, y) = 10;
f                 231 test/correctness/predicated_store_load.cpp     f(13, 13) = max(g(0, 1), g(2*r.x + 1, r.y));
f                 233 test/correctness/predicated_store_load.cpp     f.update(0).allow_race_conditions();
f                 237 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 239 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 240 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 243 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(160, 160);
f                 253 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 265 test/correctness/predicated_store_load.cpp     f(x, y, z) = 10;
f                 266 test/correctness/predicated_store_load.cpp     f(r.x, r.y, 1) = max(g(0, 1, 2), g(r.x + 1, r.y, 2));
f                 268 test/correctness/predicated_store_load.cpp     f.update(0).allow_race_conditions();
f                 272 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.z, 32);
f                 274 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.z, 32);
f                 275 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(false, false));
f                 278 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(160, 160, 160);
f                 288 test/correctness/predicated_store_load.cpp     Func f ("f"), ref("ref");
f                 298 test/correctness/predicated_store_load.cpp     f(x, y) = x + y;
f                 299 test/correctness/predicated_store_load.cpp     f(2*r.x + 1, r.y) = f(2*r.x + 1, r.y);
f                 300 test/correctness/predicated_store_load.cpp     f(2*r.x, 3*r.y) = f(2*r.x, 3*r.y);
f                 304 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 305 test/correctness/predicated_store_load.cpp         f.update(1).hexagon().vectorize(r.y, 32);
f                 307 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 308 test/correctness/predicated_store_load.cpp         f.update(1).vectorize(r.y, 32);
f                 309 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(false, false));
f                 312 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(240, 240);
f                 322 test/correctness/predicated_store_load.cpp     Func f ("f"), g("g"), ref("ref");
f                 334 test/correctness/predicated_store_load.cpp     f(x, y) = 10;
f                 335 test/correctness/predicated_store_load.cpp     f(r.x, r.y) += abs(r.x*r.y) + g(2*r.x + 1, r.y);
f                 339 test/correctness/predicated_store_load.cpp         f.update(0).hexagon().vectorize(r.x, 32);
f                 341 test/correctness/predicated_store_load.cpp         f.update(0).vectorize(r.x, 32);
f                 342 test/correctness/predicated_store_load.cpp         f.add_custom_lowering_pass(new CheckPredicatedStoreLoad(true, true));
f                 345 test/correctness/predicated_store_load.cpp     Buffer<int> im = f.realize(160, 160);
f                  31 test/correctness/print.cpp         Func f;
f                  33 test/correctness/print.cpp         f(x) = print(x * x, "the answer is", 42.0f, "unsigned", cast<uint32_t>(145));
f                  34 test/correctness/print.cpp         f.set_custom_print(halide_print);
f                  35 test/correctness/print.cpp         Buffer<int32_t> result = f.realize(10);
f                  61 test/correctness/print.cpp         Func f;
f                  66 test/correctness/print.cpp         f(x) = print_when(x == 3, x * x, "g", 42.0f, "%s", param);
f                  67 test/correctness/print.cpp         f.set_custom_print(halide_print);
f                  68 test/correctness/print.cpp         Buffer<int32_t> result = f.realize(10);
f                  93 test/correctness/print.cpp         Func f;
f                 110 test/correctness/print.cpp         f(x) = print(args);
f                 111 test/correctness/print.cpp         f.set_custom_print(halide_print);
f                 112 test/correctness/print.cpp         Buffer<uint64_t> result = f.realize(1);
f                 129 test/correctness/print.cpp         Func f, g;
f                 151 test/correctness/print.cpp         f(x) = print(e);
f                 153 test/correctness/print.cpp         f.set_custom_print(halide_print);
f                 154 test/correctness/print.cpp         Buffer<float> imf = f.realize(N);
f                  14 test/correctness/random.cpp         Func f;
f                  15 test/correctness/random.cpp         f(x, y) = random_float();
f                  16 test/correctness/random.cpp         f.vectorize(x, 4);
f                  17 test/correctness/random.cpp         f.parallel(y);
f                  18 test/correctness/random.cpp         Buffer<float> rand_image = f.realize(1024, 1024);
f                  80 test/correctness/random.cpp         Func f;
f                  81 test/correctness/random.cpp         f(x, y) = cast<double>(random_float(seed));
f                  85 test/correctness/random.cpp         Buffer<double> im1 = f.realize(1024, 1024);
f                  86 test/correctness/random.cpp         Buffer<double> im2 = f.realize(1024, 1024);
f                  89 test/correctness/random.cpp         g(x, y) = f(x, y);
f                 117 test/correctness/random.cpp         Func f;
f                 118 test/correctness/random.cpp         f(x, y) = random_int();
f                 119 test/correctness/random.cpp         Buffer<int> im = f.realize(1024, 1024);
f                 123 test/correctness/random.cpp         Expr val = f(r.x, r.y);
f                 150 test/correctness/random.cpp         Func f;
f                 151 test/correctness/random.cpp         f(x, y) = r1 + r1 - 1.0f;
f                 161 test/correctness/random.cpp         Expr f_val = f(r.x, r.y);
f                  15 test/correctness/realize_over_shifted_domain.cpp     Func f;
f                  17 test/correctness/realize_over_shifted_domain.cpp     f(x, y) = input(2*x, y/2);
f                  19 test/correctness/realize_over_shifted_domain.cpp     f.compile_jit();
f                  25 test/correctness/realize_over_shifted_domain.cpp     f.realize(result);
f                  81 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                  83 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                  88 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 1;
f                  90 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 110 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                 112 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 116 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 1;
f                 119 test/correctness/reduction_non_rectangular.cpp     f.update().reorder(r.y, r.x);
f                 120 test/correctness/reduction_non_rectangular.cpp     f.update().split(r.x, rx_outer, rx_inner, 4);
f                 121 test/correctness/reduction_non_rectangular.cpp     f.update().fuse(rx_inner, r.y, r_fused);
f                 123 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 143 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                 145 test/correctness/reduction_non_rectangular.cpp     f(x, y, z) = x + y + z;
f                 149 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y, z) += 1;
f                 151 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200, 200);
f                 173 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 178 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 182 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 1;
f                 187 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&func_call_bound_trace);
f                 194 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 220 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 227 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 231 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 1;
f                 233 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 254 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 259 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 263 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 2*g(r.x, r.y);
f                 268 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&box_bound_trace);
f                 275 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 300 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 303 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 308 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += g(r.x, r.y);
f                 313 test/correctness/reduction_non_rectangular.cpp     g.compute_at(f, r.y);
f                 315 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&box_bound_trace);
f                 322 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 342 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 348 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 351 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 2*g(r.x, r.y);
f                 357 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&box_bound_trace);
f                 367 test/correctness/reduction_non_rectangular.cpp         Buffer<int> im = f.realize(200, 200);
f                 394 test/correctness/reduction_non_rectangular.cpp         Buffer<int> im = f.realize(200, 200);
f                 417 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 421 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 425 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) = g(r.x, r.y);
f                 429 test/correctness/reduction_non_rectangular.cpp     g.compute_at(f, r.y);
f                 431 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&intermediate_bound_depend_on_output_trace);
f                 438 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 466 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 471 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 475 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += g(r.x, r.y);
f                 478 test/correctness/reduction_non_rectangular.cpp     f.update(0).tile(r.x, r.y, rxi, ryi, 8, 8);
f                 479 test/correctness/reduction_non_rectangular.cpp     f.update(0).reorder(rxi, ryi, r.x, r.y);
f                 483 test/correctness/reduction_non_rectangular.cpp     g.compute_at(f, ryi);
f                 485 test/correctness/reduction_non_rectangular.cpp     f.set_custom_trace(&intermediate_bound_depend_on_output_trace);
f                 492 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 519 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index));
f                 521 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 525 test/correctness/reduction_non_rectangular.cpp     r1.where(f(r1.x, r1.y) >= 40);
f                 526 test/correctness/reduction_non_rectangular.cpp     r1.where(f(r1.x, r1.y) != 50);
f                 527 test/correctness/reduction_non_rectangular.cpp     f(r1.x, r1.y) += 1;
f                 528 test/correctness/reduction_non_rectangular.cpp     f.compute_root();
f                 531 test/correctness/reduction_non_rectangular.cpp     r2.where(f(r2.x, r2.y) < 30);
f                 532 test/correctness/reduction_non_rectangular.cpp     g(r2.x, r2.y) += f(r2.x, r2.y);
f                 534 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im1 = f.realize(200, 200);
f                 569 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                 573 test/correctness/reduction_non_rectangular.cpp     f(x, y) = Tuple(e1, x + y);
f                 576 test/correctness/reduction_non_rectangular.cpp     r.where(f(r.x, r.y)[0]);
f                 577 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) = Tuple(f(r.x, r.y)[0], f(r.x, r.y)[1] + 10);
f                 579 test/correctness/reduction_non_rectangular.cpp     Realization res = f.realize(200, 200);
f                 646 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                 648 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 653 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 3;
f                 656 test/correctness/reduction_non_rectangular.cpp     f.gpu_tile(x, y, xi, yi, 4, 4);
f                 658 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 678 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index));
f                 680 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 685 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 3;
f                 688 test/correctness/reduction_non_rectangular.cpp     f.update(0).gpu_tile(r.x, r.y, r.x, r.y, rxi, ryi, 4, 4);
f                 690 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                 710 test/correctness/reduction_non_rectangular.cpp     Func f("f_" + std::to_string(index)), g("g_" + std::to_string(index)), h("h_" + std::to_string(index));
f                 717 test/correctness/reduction_non_rectangular.cpp     f(x, y) = x + y;
f                 720 test/correctness/reduction_non_rectangular.cpp     f(r1.x, r1.y) += 2*g(r1.x, r1.y);
f                 724 test/correctness/reduction_non_rectangular.cpp     f(r2.x, r2.y) += h(r2.x, r2.y) + g(r2.x, r2.y);
f                 727 test/correctness/reduction_non_rectangular.cpp     f.update(0).specialize(p >= 2).gpu_tile(r1.x, r1.y, r1xi, r1yi, 4, 4);
f                 739 test/correctness/reduction_non_rectangular.cpp         Buffer<int> im = f.realize(200, 200);
f                 761 test/correctness/reduction_non_rectangular.cpp         Buffer<int> im = f.realize(200, 200);
f                 780 test/correctness/reduction_non_rectangular.cpp     Func f("f");
f                 782 test/correctness/reduction_non_rectangular.cpp     f(x, y) = 0;
f                 784 test/correctness/reduction_non_rectangular.cpp     Expr w = (f.output_buffer().width()/2)*2;
f                 785 test/correctness/reduction_non_rectangular.cpp     Expr h = (f.output_buffer().height()/2)*2;
f                 790 test/correctness/reduction_non_rectangular.cpp     f(r.x, r.y) += 10;
f                 792 test/correctness/reduction_non_rectangular.cpp     f.update(0).unroll(r.x, 2)
f                 795 test/correctness/reduction_non_rectangular.cpp     Buffer<int> im = f.realize(200, 200);
f                  20 test/correctness/reduction_subregion.cpp     Func f;
f                  22 test/correctness/reduction_subregion.cpp     f(x) = x;
f                  23 test/correctness/reduction_subregion.cpp     f(r) = f(r-1) + f(r+1);
f                  25 test/correctness/reduction_subregion.cpp     f.set_error_handler(&halide_error);
f                  26 test/correctness/reduction_subregion.cpp     Buffer<int> result = f.realize(10);
f                  15 test/correctness/reorder_rvars.cpp         Func f("f");
f                  16 test/correctness/reorder_rvars.cpp         f(x, y) = x + y;
f                  17 test/correctness/reorder_rvars.cpp         f(x, y) += r1.x * r1.y;
f                  18 test/correctness/reorder_rvars.cpp         f(x, r2.x) -= r2.z * f(x, r2.x + r2.y);
f                  30 test/correctness/reorder_rvars.cpp         f.compute_root();
f                  33 test/correctness/reorder_rvars.cpp         Expr check = sum(abs(f(r3.x, r3.y) - g(r3.x, r3.y)));
f                  22 test/correctness/reorder_storage.cpp     Func f("f"), g;
f                  24 test/correctness/reorder_storage.cpp     f(x, y, c) = 1;
f                  25 test/correctness/reorder_storage.cpp     g(x, y, c) = f(x, y, c);
f                  27 test/correctness/reorder_storage.cpp     f.compute_root().reorder_storage(c, x, y);
f                  40 test/correctness/reorder_storage.cpp     f.align_storage(x, x_alignment);
f                  22 test/correctness/require.cpp     Func f;
f                  23 test/correctness/require.cpp     f(x) = require((p1 + p2) == kPrime1, 
f                  26 test/correctness/require.cpp     f.set_error_handler(&halide_error);
f                  37 test/correctness/require.cpp     result = f.realize(1);
f                  47 test/correctness/require.cpp     result = f.realize(1);
f                  23 test/correctness/reschedule.cpp     Func f;
f                  26 test/correctness/reschedule.cpp     f(x) = x;
f                  27 test/correctness/reschedule.cpp     f.set_custom_trace(&my_trace);
f                  28 test/correctness/reschedule.cpp     f.trace_stores();
f                  30 test/correctness/reschedule.cpp     Buffer<int> result_1 = f.realize(10);
f                  32 test/correctness/reschedule.cpp     f.vectorize(x, 4);
f                  34 test/correctness/reschedule.cpp     Buffer<int> result_2 = f.realize(10);
f                   7 test/correctness/reuse_stack_alloc.cpp     Func f, g, h, k;
f                  11 test/correctness/reuse_stack_alloc.cpp     f(x) = x;
f                  12 test/correctness/reuse_stack_alloc.cpp     f.compute_root();
f                  14 test/correctness/reuse_stack_alloc.cpp     g(x) = f(x);
f                  14 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                  17 test/correctness/rfactor.cpp     f(x, y) = x + y;
f                  18 test/correctness/rfactor.cpp     f.compute_root();
f                  22 test/correctness/rfactor.cpp     g(r.x, r.y) = max(g(r.x, r.y) + f(r.x, r.y), g(r.x, r.y));
f                  39 test/correctness/rfactor.cpp             {intm.name(), {f.name(), intm.name()}},
f                  40 test/correctness/rfactor.cpp             {f.name(), {}},
f                  58 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                  63 test/correctness/rfactor.cpp     f(x, y) = x - y;
f                  64 test/correctness/rfactor.cpp     f.compute_root();
f                  67 test/correctness/rfactor.cpp     g(r.x, r.y) += f(r.x, r.y);
f                  88 test/correctness/rfactor.cpp             {intm1.name(), {f.name(), intm1.name()}},
f                  89 test/correctness/rfactor.cpp             {f.name(), {}},
f                 107 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 112 test/correctness/rfactor.cpp     f(x, y) = x - y;
f                 113 test/correctness/rfactor.cpp     f.compute_root();
f                 116 test/correctness/rfactor.cpp     g(r.x, r.y) += f(r.x, r.y);
f                 140 test/correctness/rfactor.cpp             {intm1.name(), {f.name(), intm1.name()}},
f                 141 test/correctness/rfactor.cpp             {f.name(), {}},
f                 160 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 165 test/correctness/rfactor.cpp     f(x, y, z) = x + y + z;
f                 167 test/correctness/rfactor.cpp     g(r.x, r.y, r.z) += f(r.x, r.y, r.z);
f                 180 test/correctness/rfactor.cpp     Func wrapper = f.in(intm).compute_root();
f                 181 test/correctness/rfactor.cpp     f.compute_root();
f                 191 test/correctness/rfactor.cpp             {wrapper.name(), {f.name()}},
f                 193 test/correctness/rfactor.cpp             {f.name(), {}},
f                 228 test/correctness/rfactor.cpp         Func f("f"), g("g");
f                 229 test/correctness/rfactor.cpp         f(x, y) = 1;
f                 232 test/correctness/rfactor.cpp         f(x_clamped, y_clamped) += c(r.x, r.y, r.z);
f                 233 test/correctness/rfactor.cpp         f.compute_root();
f                 235 test/correctness/rfactor.cpp         g(x, y, z) = 2*f(x, y);
f                 240 test/correctness/rfactor.cpp         Func f("f"), g("g");
f                 241 test/correctness/rfactor.cpp         f(x, y) = 1;
f                 244 test/correctness/rfactor.cpp         f(x_clamped, y_clamped) += c(r.x, r.y, r.z);
f                 245 test/correctness/rfactor.cpp         f.compute_root();
f                 247 test/correctness/rfactor.cpp         g(x, y, z) = 2*f(x, y);
f                 251 test/correctness/rfactor.cpp         Func intm = f.update(0).rfactor({{r.x, u}, {r.y, v}});
f                 262 test/correctness/rfactor.cpp                 {g.name(), {f.name()}},
f                 263 test/correctness/rfactor.cpp                 {f.name(), {f.name(), intm.name()}},
f                 286 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 289 test/correctness/rfactor.cpp     f(x, y) = x + y;
f                 290 test/correctness/rfactor.cpp     f.compute_root();
f                 294 test/correctness/rfactor.cpp     g(r.x, r.y) = min(f(r.x, r.y) + 2, g(r.x, r.y));
f                 311 test/correctness/rfactor.cpp             {g.name(), {f.name(), intm.name(), g.name()}},
f                 312 test/correctness/rfactor.cpp             {intm.name(), {f.name(), intm.name()}},
f                 313 test/correctness/rfactor.cpp             {f.name(), {}},
f                 344 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 347 test/correctness/rfactor.cpp     f(x, y, z) = x + y + z;
f                 348 test/correctness/rfactor.cpp     f.compute_root();
f                 354 test/correctness/rfactor.cpp     g(r.x, r.y, r.z) += f(r.x, r.y, r.z);
f                 371 test/correctness/rfactor.cpp             {intm.name(), {f.name(), intm.name()}},
f                 372 test/correctness/rfactor.cpp             {f.name(), {}},
f                 454 test/correctness/rfactor.cpp     Func f("f"), g("g"), a("a"), b("b");
f                 517 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 520 test/correctness/rfactor.cpp     f(x, y) = Tuple(x + y, x - y);
f                 521 test/correctness/rfactor.cpp     f.compute_root();
f                 527 test/correctness/rfactor.cpp     ref(x, y) = Tuple(ref(x , y)[0] + f(r.x, r.y)[0] + 3, min(ref(x , y)[1], f(r.x, r.y)[1]));
f                 531 test/correctness/rfactor.cpp     g(x , y) = Tuple(g(x , y)[0] + f(r.x, r.y)[0] + 3, min(g(x , y)[1], f(r.x, r.y)[1]));
f                 561 test/correctness/rfactor.cpp             {intm2.name(), {f.name() + ".0", f.name() + ".1",
f                 563 test/correctness/rfactor.cpp             {f.name(), {}},
f                 594 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 597 test/correctness/rfactor.cpp     f(x, y, z) = Tuple(x + y + z, x - y + z);
f                 598 test/correctness/rfactor.cpp     f.compute_root();
f                 606 test/correctness/rfactor.cpp     ref(x, y) = Tuple(ref(x, y)[0]*f(r.x, r.y, r.z)[0], ref(x, y)[1] + 2*f(r.x, r.y, r.z)[1]);
f                 611 test/correctness/rfactor.cpp     g(x, y) = Tuple(g(x, y)[0]*f(r.x, r.y, r.z)[0], g(x, y)[1] + 2*f(r.x, r.y, r.z)[1]);
f                 642 test/correctness/rfactor.cpp             {intm2.name(), {f.name() + ".0", f.name() + ".1",
f                 644 test/correctness/rfactor.cpp             {intm3.name(), {f.name() + ".0", f.name() + ".1",
f                 646 test/correctness/rfactor.cpp             {intm4.name(), {f.name() + ".0", f.name() + ".1",
f                 648 test/correctness/rfactor.cpp             {f.name(), {}},
f                 751 test/correctness/rfactor.cpp     Func f("f"), g("g"), ref("ref");
f                 754 test/correctness/rfactor.cpp     f(x, y) = Tuple(x + y, x - y);
f                 755 test/correctness/rfactor.cpp     f.compute_root();
f                 763 test/correctness/rfactor.cpp     ref(x, y) = Tuple(ref(x, y)[0]*f(r.x, r.y)[0] - ref(x, y)[1]*f(r.x, r.y)[1],
f                 764 test/correctness/rfactor.cpp                       ref(x, y)[0]*f(r.x, r.y)[1] + ref(x, y)[1]*f(r.x, r.y)[0]);
f                 767 test/correctness/rfactor.cpp     g(x, y) = Tuple(g(x, y)[0]*f(r.x, r.y)[0] - g(x, y)[1]*f(r.x, r.y)[1],
f                 768 test/correctness/rfactor.cpp                     g(x, y)[0]*f(r.x, r.y)[1] + g(x, y)[1]*f(r.x, r.y)[0]);
f                 803 test/correctness/rfactor.cpp     Func f("f"), g("g"), ref("ref");
f                 806 test/correctness/rfactor.cpp     f(x, y) = x + y;
f                 807 test/correctness/rfactor.cpp     f.compute_root();
f                 815 test/correctness/rfactor.cpp     ref() = Tuple(min(ref()[0], f(r.x, r.y)),
f                 816 test/correctness/rfactor.cpp                   select(ref()[0] < f(r.x, r.y), ref()[1], r.x),
f                 817 test/correctness/rfactor.cpp                   select(ref()[0] < f(r.x, r.y), ref()[2], r.y));
f                 820 test/correctness/rfactor.cpp     g() = Tuple(min(g()[0], f(r.x, r.y)),
f                 821 test/correctness/rfactor.cpp                 select(g()[0] < f(r.x, r.y), g()[1], r.x),
f                 822 test/correctness/rfactor.cpp                 select(g()[0] < f(r.x, r.y), g()[2], r.y));
f                 879 test/correctness/rfactor.cpp     Func f("f"), g("g");
f                 882 test/correctness/rfactor.cpp     f(x) = x;
f                 884 test/correctness/rfactor.cpp     g(r.x) += f(r.x);
f                 888 test/correctness/rfactor.cpp     f.compute_at(g, rxo);
f                 891 test/correctness/rfactor.cpp     f.trace_realizations();
f                 899 test/correctness/rfactor.cpp     Func ref("ref"), f("f");
f                 914 test/correctness/rfactor.cpp     f(x) = 0;
f                 915 test/correctness/rfactor.cpp     f(input(r.x, r.y) % 8) += 1;
f                 918 test/correctness/rfactor.cpp     f.update()
f                 925 test/correctness/rfactor.cpp     Buffer<int> im = f.realize(8);
f                  10 test/correctness/round.cpp     Func f;
f                  11 test/correctness/round.cpp     f(x) = e;
f                  13 test/correctness/round.cpp         f.vectorize(x, vector_width);
f                  15 test/correctness/round.cpp     Buffer<T> im = f.realize(N);
f                  31 test/correctness/saturating_casts.cpp     Func f;
f                  33 test/correctness/saturating_casts.cpp     f(x) = saturating_cast<target_t>(in(x));
f                  35 test/correctness/saturating_casts.cpp     Buffer<target_t> result = f.realize(7);
f                 130 test/correctness/saturating_casts.cpp     Func f;
f                 132 test/correctness/saturating_casts.cpp     f(x) = cast_maker(in(x));
f                 134 test/correctness/saturating_casts.cpp     Buffer<target_t> result = f.realize(7);
f                   7 test/correctness/scatter.cpp     Func f, g;
f                  12 test/correctness/scatter.cpp     f(x, y) = 17;
f                  13 test/correctness/scatter.cpp     f(r, y) = f(r-1, y) + 100;
f                  14 test/correctness/scatter.cpp     g(x, y) = f(x+5, y+5);
f                  16 test/correctness/scatter.cpp     f.compute_root();
f                  65 test/correctness/schedule_param.cpp     Func f("f"), g("g");
f                  67 test/correctness/schedule_param.cpp     f(x, y) = x + y;
f                  68 test/correctness/schedule_param.cpp     g(x, y) = f(x, y);
f                  70 test/correctness/schedule_param.cpp     f.compute_at(compute_at).vectorize(x, vector_width);
f                  50 test/correctness/set_custom_trace.cpp     Func f("f"), g("g");
f                  52 test/correctness/set_custom_trace.cpp     f(x) = x;
f                  53 test/correctness/set_custom_trace.cpp     g(x) += f(x);
f                  55 test/correctness/set_custom_trace.cpp     f.compute_at(g, x);
f                  56 test/correctness/set_custom_trace.cpp     f.set_custom_trace(allocation_bound_test_trace);
f                   9 test/correctness/shared_self_references.cpp         Func f;
f                  11 test/correctness/shared_self_references.cpp         f(x) = x;
f                  13 test/correctness/shared_self_references.cpp             Expr e = f(2);
f                  14 test/correctness/shared_self_references.cpp             f(0) = e;
f                  15 test/correctness/shared_self_references.cpp             f(1) = e;
f                  49 test/correctness/side_effects.cpp     Complex(FuncRef f) : t(Tuple(f)) {}
f                 137 test/correctness/simd_op_check.cpp         for (Target::Feature f : {Target::SSE41, Target::AVX,
f                 142 test/correctness/simd_op_check.cpp             if (target.has_feature(f) != host_target.has_feature(f)) {
f                 193 test/correctness/simd_op_check.cpp         Func f(name);
f                 194 test/correctness/simd_op_check.cpp         f(x, y) = e;
f                 195 test/correctness/simd_op_check.cpp         f.bound(x, 0, W).vectorize(x, vector_width);
f                 196 test/correctness/simd_op_check.cpp         f.compute_root();
f                 207 test/correctness/simd_op_check.cpp         error() = cast<double>(maximum(absd(f(r.x, r.y), f_scalar(r.x, r.y))));
f                 212 test/correctness/simd_op_check.cpp             f.compile_to_assembly(asm_filename, arg_types, target);
f                2061 test/correctness/simd_op_check.cpp         for (auto &f : futures) {
f                2062 test/correctness/simd_op_check.cpp             const TestResult &result = f.get();
f                  21 test/correctness/sliding_backwards.cpp     Func f, g;
f                  25 test/correctness/sliding_backwards.cpp     f(x) = g(100-x) + g(100-x+1);
f                  27 test/correctness/sliding_backwards.cpp     g.compute_at(f, x);
f                  30 test/correctness/sliding_backwards.cpp     f.realize(10);
f                  41 test/correctness/sliding_reduction.cpp         Func f("f");
f                  42 test/correctness/sliding_reduction.cpp         f(x, y) = x;
f                  43 test/correctness/sliding_reduction.cpp         f(0, y) += f(1, y) + f(0, y);
f                  44 test/correctness/sliding_reduction.cpp         f(x, y) = call_count(f(x, y));
f                  47 test/correctness/sliding_reduction.cpp         g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2);
f                  49 test/correctness/sliding_reduction.cpp         f.store_root().compute_at(g, y);
f                  63 test/correctness/sliding_reduction.cpp         Func f("f");
f                  64 test/correctness/sliding_reduction.cpp         f(x, y) = x;
f                  65 test/correctness/sliding_reduction.cpp         f(x, x) += f(x, 0) + f(x, 1);
f                  66 test/correctness/sliding_reduction.cpp         f(x, y) = call_count(f(x, y));
f                  69 test/correctness/sliding_reduction.cpp         g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2);
f                  71 test/correctness/sliding_reduction.cpp         f.store_root().compute_at(g, y);
f                  94 test/correctness/sliding_reduction.cpp         Func f("f");
f                  95 test/correctness/sliding_reduction.cpp         f(x, y) = x;
f                  96 test/correctness/sliding_reduction.cpp         f(0, y) += f(1, y) + f(2, y);
f                  97 test/correctness/sliding_reduction.cpp         f(x, y) = call_count(f(x, y));
f                  99 test/correctness/sliding_reduction.cpp         f.unroll(y, 2);
f                 100 test/correctness/sliding_reduction.cpp         f.update(0);
f                 101 test/correctness/sliding_reduction.cpp         f.update(1);
f                 104 test/correctness/sliding_reduction.cpp         g(x, y) = f(x, y) + f(x, y-1) + f(x, y-2);
f                 106 test/correctness/sliding_reduction.cpp         f.store_root().compute_at(g, y);
f                  31 test/correctness/sliding_window.cpp         Func f, g;
f                  33 test/correctness/sliding_window.cpp         f(x) = call_counter(x, 0);
f                  34 test/correctness/sliding_window.cpp         g(x) = f(x) + f(x-1);
f                  36 test/correctness/sliding_window.cpp         f.store_root().compute_at(g, x);
f                  50 test/correctness/sliding_window.cpp         Func f, g, h;
f                  51 test/correctness/sliding_window.cpp         f(x) = call_counter(x, 0);
f                  52 test/correctness/sliding_window.cpp         g(x) = f(x) + f(x-1);
f                  55 test/correctness/sliding_window.cpp         f.store_root().compute_at(g, x);
f                  68 test/correctness/sliding_window.cpp         Func f, g, h;
f                  70 test/correctness/sliding_window.cpp         f(x, c) = call_counter(x, c);
f                  71 test/correctness/sliding_window.cpp         g(x, c) = f(x + 1, c) - f(x, c);
f                  74 test/correctness/sliding_window.cpp         f.store_root()
f                  96 test/correctness/sliding_window.cpp         Func f, g;
f                  98 test/correctness/sliding_window.cpp         f(x, y) = 0;
f                  99 test/correctness/sliding_window.cpp         f(r, y) = call_counter(r, y);
f                 100 test/correctness/sliding_window.cpp         f.store_root().compute_at(g, y);
f                 102 test/correctness/sliding_window.cpp         g(x, y) = f(x, y) + f(x, y-1);
f                 117 test/correctness/sliding_window.cpp         Func f, g;
f                 120 test/correctness/sliding_window.cpp         f(x, y) = call_counter(x, y);
f                 121 test/correctness/sliding_window.cpp         g(x, y) = f(x-1, y) + f(x, y) + f(x, y-1);
f                 122 test/correctness/sliding_window.cpp         f.store_root().compute_at(g, x);
f                 133 test/correctness/sliding_window.cpp         Func f, g;
f                 137 test/correctness/sliding_window.cpp         f(x, y) = call_counter(x, y);
f                 139 test/correctness/sliding_window.cpp         g(x, y) = f(x+y, x-y) + f((x-2)+y, (x-2)-y) + f(x+(y-2), x-(y-2));
f                 140 test/correctness/sliding_window.cpp         f.store_root().compute_at(g, x);
f                 151 test/correctness/sliding_window.cpp         Func f, g;
f                 152 test/correctness/sliding_window.cpp         f(x, y) = x*y;
f                 153 test/correctness/sliding_window.cpp         g(x, y) = f(x, y) + f(x+1, y) + f(x, y+1) + f(x+1, y+1);
f                 154 test/correctness/sliding_window.cpp         f.store_at(g, y).compute_at(g, x);
f                  74 test/correctness/sort_exprs.cpp     Func f;
f                  76 test/correctness/sort_exprs.cpp     f(x) = sin(x);
f                  77 test/correctness/sort_exprs.cpp     f.compute_root();
f                  83 test/correctness/sort_exprs.cpp         exprs.push_back(f(i));
f                  79 test/correctness/specialize.cpp         Func f;
f                  81 test/correctness/specialize.cpp         f(x) = select(param, x*3, x*17);
f                  84 test/correctness/specialize.cpp         Expr cond = (f.output_buffer().width() >= 4);
f                  85 test/correctness/specialize.cpp         f.specialize(cond).vectorize(x, 4);
f                  92 test/correctness/specialize.cpp         f.specialize(cond).specialize(param);
f                  95 test/correctness/specialize.cpp         f.specialize(param);
f                  97 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                  98 test/correctness/specialize.cpp         f.trace_stores();
f                 105 test/correctness/specialize.cpp         f.realize(out);
f                 114 test/correctness/specialize.cpp         f.realize(out);
f                 133 test/correctness/specialize.cpp         f.realize(out);
f                 142 test/correctness/specialize.cpp         f.realize(out);
f                 216 test/correctness/specialize.cpp         Func f;
f                 219 test/correctness/specialize.cpp         f(x) = im(x);
f                 222 test/correctness/specialize.cpp         f.specialize(im.dim(0).stride() == 1 && im.width() >= 8).vectorize(x, 8);
f                 224 test/correctness/specialize.cpp         f.trace_stores();
f                 225 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                 228 test/correctness/specialize.cpp         f.infer_input_bounds(5);
f                 237 test/correctness/specialize.cpp         f.realize(5);
f                 248 test/correctness/specialize.cpp         f.realize(100);
f                 261 test/correctness/specialize.cpp         Func f;
f                 263 test/correctness/specialize.cpp         f(x) = select(param, im(x + 10), im(x - 10));
f                 264 test/correctness/specialize.cpp         f.specialize(param);
f                 267 test/correctness/specialize.cpp         f.infer_input_bounds(100);
f                 275 test/correctness/specialize.cpp         f.infer_input_bounds(100);
f                 286 test/correctness/specialize.cpp         Func f;
f                 291 test/correctness/specialize.cpp         f(x) = x;
f                 292 test/correctness/specialize.cpp         f(r) = 10 - r;
f                 295 test/correctness/specialize.cpp         f.update().specialize(size == 1);
f                 298 test/correctness/specialize.cpp         f.update().specialize(size == 0);
f                 304 test/correctness/specialize.cpp         f.realize(100);
f                 312 test/correctness/specialize.cpp         Func f;
f                 315 test/correctness/specialize.cpp         f(x) = select(param, im(x), 0.0f);
f                 317 test/correctness/specialize.cpp         f.specialize(param);
f                 324 test/correctness/specialize.cpp         f.realize(100);
f                 332 test/correctness/specialize.cpp         Func f;
f                 334 test/correctness/specialize.cpp         f(x, y) = im(x, y);
f                 336 test/correctness/specialize.cpp         Expr cond = f.output_buffer().width() >= 4;
f                 339 test/correctness/specialize.cpp         f.reorder(y, x).unroll(y, 2).reorder(x, y);
f                 343 test/correctness/specialize.cpp         f.specialize(cond).vectorize(x, 4);
f                 346 test/correctness/specialize.cpp         f.infer_input_bounds(3, 1);
f                 365 test/correctness/specialize.cpp         Func f, g, h, out;
f                 367 test/correctness/specialize.cpp         f(x) = im(x);
f                 368 test/correctness/specialize.cpp         g(x) = f(x);
f                 375 test/correctness/specialize.cpp         f.compute_root().specialize(w >= 4).vectorize(x, 4);
f                 390 test/correctness/specialize.cpp         Func f, out;
f                 392 test/correctness/specialize.cpp         f(x, y) = im(x, y);
f                 393 test/correctness/specialize.cpp         out(x, y) = f(x, y);
f                 395 test/correctness/specialize.cpp         f.compute_at(out, x).specialize(cond1 && cond2).vectorize(x, 4);
f                 419 test/correctness/specialize.cpp         Func f, out;
f                 421 test/correctness/specialize.cpp         f(x, y) = im(x, y);
f                 422 test/correctness/specialize.cpp         out(x, y) = f(x, y);
f                 424 test/correctness/specialize.cpp         f.compute_at(out, x).specialize(cond1).vectorize(x, 4);
f                 454 test/correctness/specialize.cpp         Func f;
f                 456 test/correctness/specialize.cpp         f(x) = select(test, im(x, 0), im(0, x));
f                 457 test/correctness/specialize.cpp         f.specialize(test);
f                 467 test/correctness/specialize.cpp         f.infer_input_bounds(10);
f                 477 test/correctness/specialize.cpp         f.infer_input_bounds(10);
f                 492 test/correctness/specialize.cpp         Func f;
f                 494 test/correctness/specialize.cpp         f(x) = select(p > 50, im(x, 0), im(0, x));
f                 495 test/correctness/specialize.cpp         f.specialize(test);
f                 501 test/correctness/specialize.cpp         f.infer_input_bounds(10);
f                 516 test/correctness/specialize.cpp         f.infer_input_bounds(10);
f                 533 test/correctness/specialize.cpp         Func f;
f                 534 test/correctness/specialize.cpp         f(x) = x;
f                 535 test/correctness/specialize.cpp         f.specialize(p == 0).vectorize(x, 32);      // will *not* be pruned
f                 536 test/correctness/specialize.cpp         f.specialize(const_false).vectorize(x, 8);  // will be pruned
f                 537 test/correctness/specialize.cpp         f.vectorize(x, 4);                          // default case, not a specialization
f                 539 test/correctness/specialize.cpp         _halide_user_assert(f.function().definition().specializations().size() == 2);
f                 542 test/correctness/specialize.cpp         env.insert({f.function().name(), f.function()});
f                 545 test/correctness/specialize.cpp         const auto &s = f.function().definition().specializations();
f                 550 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                 551 test/correctness/specialize.cpp         f.trace_stores();
f                 555 test/correctness/specialize.cpp         f.realize(100);
f                 560 test/correctness/specialize.cpp         f.realize(100);
f                 572 test/correctness/specialize.cpp         Func f;
f                 573 test/correctness/specialize.cpp         f(x) = x;
f                 574 test/correctness/specialize.cpp         f.specialize(p == 0).vectorize(x, 32);      // will *not* be pruned
f                 575 test/correctness/specialize.cpp         f.specialize(const_true).vectorize(x, 16);  // will *not* be pruned
f                 576 test/correctness/specialize.cpp         f.specialize(const_false).vectorize(x, 4);  // will be pruned
f                 577 test/correctness/specialize.cpp         f.specialize(p == 42).vectorize(x, 8);      // will be pruned
f                 578 test/correctness/specialize.cpp         f.specialize(const_true);                   // dupe of call above, won't add new specialization
f                 583 test/correctness/specialize.cpp         f.specialize(different_const_true);         // will be pruned
f                 585 test/correctness/specialize.cpp         _halide_user_assert(f.function().definition().specializations().size() == 5);
f                 588 test/correctness/specialize.cpp         env.insert({f.function().name(), f.function()});
f                 591 test/correctness/specialize.cpp         const auto &s = f.function().definition().specializations();
f                 598 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                 599 test/correctness/specialize.cpp         f.trace_stores();
f                 603 test/correctness/specialize.cpp         f.realize(100);
f                 608 test/correctness/specialize.cpp         f.realize(100);
f                 620 test/correctness/specialize.cpp         Func f("foof");
f                 621 test/correctness/specialize.cpp         f(x) = x;
f                 622 test/correctness/specialize.cpp         f.specialize(p == 0).vectorize(x, 32);      // will *not* be pruned
f                 623 test/correctness/specialize.cpp         f.specialize(const_true).vectorize(x, 16);
f                 625 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                 626 test/correctness/specialize.cpp         f.trace_stores();
f                 630 test/correctness/specialize.cpp         f.realize(100);
f                 635 test/correctness/specialize.cpp         f.realize(100);
f                 644 test/correctness/specialize.cpp         Func f;
f                 645 test/correctness/specialize.cpp         f(x) = x;
f                 646 test/correctness/specialize.cpp         f.specialize(p == 0);
f                 647 test/correctness/specialize.cpp         f.specialize_fail("Unhandled Param value encountered.");
f                 649 test/correctness/specialize.cpp         f.specialize(p == 0).vectorize(x, 32);
f                 655 test/correctness/specialize.cpp         f.set_custom_trace(&my_trace);
f                 656 test/correctness/specialize.cpp         f.trace_stores();
f                 660 test/correctness/specialize.cpp         f.realize(100);
f                  13 test/correctness/specialize_to_gpu.cpp     Func f, g, h;
f                  17 test/correctness/specialize_to_gpu.cpp     f(x) = in(x) + in(x + 1);
f                  18 test/correctness/specialize_to_gpu.cpp     g(x) = f(x * 2);
f                  23 test/correctness/specialize_to_gpu.cpp     f.compute_root().specialize(gpu_f).gpu_tile(x, x, xi, 16);
f                  12 test/correctness/split_by_non_factor.cpp         Func f;
f                  13 test/correctness/split_by_non_factor.cpp         f(x) = 0;
f                  14 test/correctness/split_by_non_factor.cpp         f(x) += x;
f                  15 test/correctness/split_by_non_factor.cpp         f.update().unroll(x, 2, TailStrategy::GuardWithIf);
f                  16 test/correctness/split_by_non_factor.cpp         Buffer<int> result = f.realize(3);
f                  28 test/correctness/split_by_non_factor.cpp         Func f;
f                  30 test/correctness/split_by_non_factor.cpp         f(x) = x;
f                  31 test/correctness/split_by_non_factor.cpp         f(x) += 3;
f                  34 test/correctness/split_by_non_factor.cpp         f(0) += f(r);
f                  36 test/correctness/split_by_non_factor.cpp         f.update(0).vectorize(x, 8, TailStrategy::GuardWithIf);
f                  37 test/correctness/split_by_non_factor.cpp         f.update(1).unroll(r, 4);
f                  44 test/correctness/split_by_non_factor.cpp                 f.realize(i);
f                  51 test/correctness/split_by_non_factor.cpp         Func f, g, h;
f                  54 test/correctness/split_by_non_factor.cpp         f(x) = 0;
f                  55 test/correctness/split_by_non_factor.cpp         f(x) += g(x) + h(x);
f                  57 test/correctness/split_by_non_factor.cpp         f.update().split(x, xo, xi, 7, TailStrategy::GuardWithIf);
f                  58 test/correctness/split_by_non_factor.cpp         g.compute_at(f, xo);
f                  59 test/correctness/split_by_non_factor.cpp         h.compute_at(f, xi);
f                  60 test/correctness/split_by_non_factor.cpp         Buffer<int> result = f.realize(15);
f                  11 test/correctness/split_fuse_rvar.cpp         Func f("f");
f                  12 test/correctness/split_fuse_rvar.cpp         f(x) = x;
f                  17 test/correctness/split_fuse_rvar.cpp         g(r.x, r.y) = f(r.y*4 + r.x);
f                  38 test/correctness/split_fuse_rvar.cpp         Func f("f");
f                  39 test/correctness/split_fuse_rvar.cpp         f(x) = x;
f                  44 test/correctness/split_fuse_rvar.cpp         g(r) = f(r);
f                   8 test/correctness/split_reuse_inner_name_bug.cpp     Func f("f");
f                  10 test/correctness/split_reuse_inner_name_bug.cpp     f(x) = 1;
f                  11 test/correctness/split_reuse_inner_name_bug.cpp     f.compute_root().split(x, x0, x, 16).split(x, x, x1, 2).split(x, x2, x, 4).split(x, x, x3, 2);
f                  12 test/correctness/split_reuse_inner_name_bug.cpp     f.realize(1024);
f                   9 test/correctness/split_store_compute.cpp     Func f("f"), g("g"), h("h");
f                  13 test/correctness/split_store_compute.cpp     f(x, y) = max(x, y);
f                  14 test/correctness/split_store_compute.cpp     g(x, y) = 17 * f(x, y);
f                  19 test/correctness/split_store_compute.cpp     f.compute_root();
f                  20 test/correctness/stack_allocations.cpp     Func f, g, h;
f                  23 test/correctness/stack_allocations.cpp     f(x, y) = x + y;
f                  24 test/correctness/stack_allocations.cpp     g(x, y) = f(x-1, y+1) * f(x+1, y-1);
f                  27 test/correctness/stack_allocations.cpp     f.compute_at(h, x);
f                  24 test/correctness/stencil_chain_in_update_definitions.cpp     Func f;
f                  25 test/correctness/stencil_chain_in_update_definitions.cpp     f(x) = sin(x);
f                  32 test/correctness/stencil_chain_in_update_definitions.cpp     g(x, x) = f(x);
f                  26 test/correctness/storage_folding.cpp         Func f, g;
f                  28 test/correctness/storage_folding.cpp         f(x, y, c) = x;
f                  29 test/correctness/storage_folding.cpp         g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c);
f                  30 test/correctness/storage_folding.cpp         f.store_root().compute_at(g, x);
f                  46 test/correctness/storage_folding.cpp         Func f, g;
f                  48 test/correctness/storage_folding.cpp         f(x, y, c) = x;
f                  49 test/correctness/storage_folding.cpp         g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c);
f                  50 test/correctness/storage_folding.cpp         f.store_root().compute_at(g, x);
f                  68 test/correctness/storage_folding.cpp         Func f, g;
f                  70 test/correctness/storage_folding.cpp         f(x, y) = x;
f                  71 test/correctness/storage_folding.cpp         g(x, y) = f(x-1, y+1) + f(x, y-1);
f                  72 test/correctness/storage_folding.cpp         f.store_root().compute_at(g, y).fold_storage(y, 3);
f                  93 test/correctness/storage_folding.cpp         Func f, g;
f                  96 test/correctness/storage_folding.cpp         f(x, y) = g(2*x, 2*y) + g(2*x+1, 2*y+1);
f                 101 test/correctness/storage_folding.cpp         g.compute_at(f, x).store_root();
f                 103 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 105 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 126 test/correctness/storage_folding.cpp         Func f, g;
f                 129 test/correctness/storage_folding.cpp         f(x, y) = g(x, 2*y) + g(x+3, 2*y+1);
f                 135 test/correctness/storage_folding.cpp         g.compute_at(f, x).store_root();
f                 137 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 139 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 160 test/correctness/storage_folding.cpp         Func f, g;
f                 163 test/correctness/storage_folding.cpp         f(x, y) = g(2*x, y) + g(2*x+1, y+3);
f                 170 test/correctness/storage_folding.cpp         g.compute_at(f, x).store_root();
f                 172 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 174 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 197 test/correctness/storage_folding.cpp         Func f, g;
f                 200 test/correctness/storage_folding.cpp         f(x, y) = g(x, y);
f                 203 test/correctness/storage_folding.cpp         f.bound(y, 0, (f.output_buffer().height()/8)*8).split(y, yo, yi, 8);
f                 204 test/correctness/storage_folding.cpp         g.compute_at(f, yo).store_root();
f                 211 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 213 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 236 test/correctness/storage_folding.cpp         Func f, g;
f                 239 test/correctness/storage_folding.cpp         f(x, y) = g(2*x, y) + g(2*x+1, y+2);
f                 247 test/correctness/storage_folding.cpp         g.compute_at(f, x).store_root().fold_storage(y, 3);
f                 249 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 251 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 274 test/correctness/storage_folding.cpp         Func f, g;
f                 277 test/correctness/storage_folding.cpp         f(x, y) = g(x, y/2) + g(x, y/2+1);
f                 281 test/correctness/storage_folding.cpp         g.compute_at(f, x).store_root().fold_storage(y, 2);
f                 283 test/correctness/storage_folding.cpp         f.set_custom_allocator(my_malloc, my_free);
f                 285 test/correctness/storage_folding.cpp         Buffer<int> im = f.realize(1000, 1000);
f                 307 test/correctness/storage_folding.cpp         Func f, g;
f                 309 test/correctness/storage_folding.cpp         f(x, y, c) = x;
f                 310 test/correctness/storage_folding.cpp         g(x, y, c) = f(x-1, y+1, c) + f(x, y-1, c);
f                 311 test/correctness/storage_folding.cpp         f.store_root().compute_at(g, y).fold_storage(y, 3);
f                   9 test/correctness/stream_compaction.cpp     Func f;
f                  11 test/correctness/stream_compaction.cpp     f(x) = select((x % 7 == 0) || (x % 5 == 0), 1, 0);
f                  12 test/correctness/stream_compaction.cpp     f.compute_root();
f                  18 test/correctness/stream_compaction.cpp     cum_sum(r+1) = f(r) + cum_sum(r);
f                  30 test/correctness/stream_compaction.cpp     ones(bin) = select(f(r) == 1, r, undef<int>());
f                  16 test/correctness/strided_load.cpp     Func f, g;
f                  18 test/correctness/strided_load.cpp     f(x) = im(2*x);
f                  19 test/correctness/strided_load.cpp     f.compute_root().vectorize(x, 16).bound(x, 0, 849);
f                  23 test/correctness/strided_load.cpp     g(x) = f(2*x);
f                  22 test/correctness/thread_safety.cpp                 Func f;
f                  24 test/correctness/thread_safety.cpp                 f(x) = x;
f                  25 test/correctness/thread_safety.cpp                 f.realize(100);
f                 107 test/correctness/tracing.cpp     Func f("f"), g("g");
f                 110 test/correctness/tracing.cpp     f(x) = g(x)[0] + g(x+1)[1];
f                 112 test/correctness/tracing.cpp     f.vectorize(x, 4);
f                 113 test/correctness/tracing.cpp     f.trace_stores();
f                 114 test/correctness/tracing.cpp     f.trace_realizations();
f                 117 test/correctness/tracing.cpp     g.store_root().compute_at(f, x);
f                 120 test/correctness/tracing.cpp     f.set_custom_trace(&my_trace);
f                 121 test/correctness/tracing.cpp     f.realize(10);
f                  10 test/correctness/tracing_bounds.cpp     Func f, g;
f                  12 test/correctness/tracing_bounds.cpp     f(x) = clamp(x, 0, 100);
f                  13 test/correctness/tracing_bounds.cpp     f.compute_root();
f                  14 test/correctness/tracing_bounds.cpp     g(x) = f(f(x));
f                  18 test/correctness/tracing_bounds.cpp     f.trace_loads();
f                  21 test/correctness/tracing_broadcast.cpp     Func f("f");
f                  23 test/correctness/tracing_broadcast.cpp     f(x, y) = 1234567890;
f                  24 test/correctness/tracing_broadcast.cpp     f.vectorize(x, 8);
f                  26 test/correctness/tracing_broadcast.cpp     f.trace_stores();
f                  27 test/correctness/tracing_broadcast.cpp     f.set_custom_trace(&my_trace);
f                  28 test/correctness/tracing_broadcast.cpp     f.realize(8, 8);
f                  73 test/correctness/tracing_stack.cpp     Func f("f"), g("g"), h("h");
f                  76 test/correctness/tracing_stack.cpp     f(x, y) = x+y;
f                  77 test/correctness/tracing_stack.cpp     f.compute_root().trace_realizations();
f                  79 test/correctness/tracing_stack.cpp     g(x, y) = f(x, y) + 37;
f                   7 test/correctness/transitive_bounds.cpp     Func f, g;
f                   9 test/correctness/transitive_bounds.cpp     f(x) = x;
f                  10 test/correctness/transitive_bounds.cpp     g(x) = f(x);
f                  15 test/correctness/transitive_bounds.cpp     f.compute_root().unroll(x);
f                  46 test/correctness/trim_no_ops.cpp         Func f;
f                  48 test/correctness/trim_no_ops.cpp         f(x) = x;
f                  49 test/correctness/trim_no_ops.cpp         f(x) += select(x > 10 && x < 20, 1, 0);
f                  50 test/correctness/trim_no_ops.cpp         f(x) += select(x < 10, 0, 1);
f                  51 test/correctness/trim_no_ops.cpp         f(x) *= select(x > 20 && x < 30, 2, 1);
f                  52 test/correctness/trim_no_ops.cpp         f(x) = select(x >= 60 && x <= 100, 100 - f(x), f(x));
f                  55 test/correctness/trim_no_ops.cpp         Module m = f.compile_to_module({});
f                  64 test/correctness/trim_no_ops.cpp         Buffer<int> im = f.realize(100);
f                  83 test/correctness/trim_no_ops.cpp         Func f;
f                  85 test/correctness/trim_no_ops.cpp         f(x, y) = x + y;
f                  86 test/correctness/trim_no_ops.cpp         f(x, y) += select((x == 10) && (x < y), 1, 0);
f                  87 test/correctness/trim_no_ops.cpp         Module m = f.compile_to_module({});
f                  98 test/correctness/trim_no_ops.cpp         Buffer<int> im = f.realize(100, 100);
f                 115 test/correctness/trim_no_ops.cpp         Func f;
f                 117 test/correctness/trim_no_ops.cpp         f(x, y) = cast<uint8_t>(random_int());
f                 118 test/correctness/trim_no_ops.cpp         f.compute_root();
f                 125 test/correctness/trim_no_ops.cpp             hist(f(clamp(xi, 0, 73), clamp(yi, 0, 73))) +=
f                 143 test/correctness/trim_no_ops.cpp             true_hist(f(r.x, r.y)) += 1;
f                 160 test/correctness/trim_no_ops.cpp         Func f;
f                 162 test/correctness/trim_no_ops.cpp         f(x, y) = select(2*x < y, 5, undef<int>());
f                 165 test/correctness/trim_no_ops.cpp         f.tile(x, y, xi, yi, 4, 4);
f                 168 test/correctness/trim_no_ops.cpp         Module m = f.compile_to_module({});
f                 187 test/correctness/trim_no_ops.cpp         Func f;
f                 189 test/correctness/trim_no_ops.cpp         f(x, y) = x + y;
f                 192 test/correctness/trim_no_ops.cpp         f(r.x, r.y) += select((r.x < r.y) && (r.x == 10), 3, undef<int>());
f                 195 test/correctness/trim_no_ops.cpp         f.update(0).gpu_tile(r.x, r.y, rxi, ryi, 4, 4);
f                 197 test/correctness/trim_no_ops.cpp         Buffer<int> im = f.realize(200, 200);
f                 204 test/correctness/trim_no_ops.cpp         Module m = f.compile_to_module({}, "", gpu_target);
f                  10 test/correctness/tuple_partial_update.cpp         Func f("f");
f                  12 test/correctness/tuple_partial_update.cpp         f(x, y) = Tuple(x + y, undef<int32_t>());
f                  13 test/correctness/tuple_partial_update.cpp         f(x, y)[0] += 3;
f                  14 test/correctness/tuple_partial_update.cpp         f(x, y)[1] = x;
f                  15 test/correctness/tuple_partial_update.cpp         f(x, y)[0] -= 1;
f                  16 test/correctness/tuple_partial_update.cpp         f(x, y)[1] *= 4;
f                  17 test/correctness/tuple_partial_update.cpp         f(x, y)[1] /= 2;
f                  19 test/correctness/tuple_partial_update.cpp         Realization result = f.realize(1024, 1024);
f                  36 test/correctness/tuple_partial_update.cpp         Func f("f");
f                  38 test/correctness/tuple_partial_update.cpp         f(x, y) = Tuple(x, y);
f                  39 test/correctness/tuple_partial_update.cpp         f(x, y)[1] += select(x < 20, 20*x, undef<int>());
f                  41 test/correctness/tuple_partial_update.cpp         Realization result = f.realize(1024, 1024);
f                  11 test/correctness/tuple_reduction.cpp         Func f;
f                  14 test/correctness/tuple_reduction.cpp         f(x, y) = Tuple(x + y, x - y);
f                  17 test/correctness/tuple_reduction.cpp         f(x, y) = Tuple(f(x, y)[1]*2, f(x, y)[0]*2);
f                  21 test/correctness/tuple_reduction.cpp             f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  22 test/correctness/tuple_reduction.cpp             f.update().gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  24 test/correctness/tuple_reduction.cpp             f.hexagon(y).vectorize(x, 32);
f                  25 test/correctness/tuple_reduction.cpp             f.update().hexagon(y).vectorize(x, 32);
f                  28 test/correctness/tuple_reduction.cpp         Realization result = f.realize(1024, 1024);
f                  47 test/correctness/tuple_reduction.cpp         Func f;
f                  50 test/correctness/tuple_reduction.cpp         f(x, y) = Tuple(x + y, x - y);
f                  54 test/correctness/tuple_reduction.cpp             f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1);
f                  59 test/correctness/tuple_reduction.cpp             f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  61 test/correctness/tuple_reduction.cpp             f.hexagon(y).vectorize(x, 32);
f                  66 test/correctness/tuple_reduction.cpp                     f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  68 test/correctness/tuple_reduction.cpp                     f.update(i).hexagon(y).vectorize(x, 32);
f                  71 test/correctness/tuple_reduction.cpp                 f.update(i);
f                  75 test/correctness/tuple_reduction.cpp         Realization result = f.realize(1024, 1024);
f                  95 test/correctness/tuple_reduction.cpp         Func f;
f                  98 test/correctness/tuple_reduction.cpp         f(x, y) = Tuple(x + y, x - y);
f                 102 test/correctness/tuple_reduction.cpp             f(x, y) = Tuple(f(x, y)[1] + 1, f(x, y)[0] + 1);
f                 109 test/correctness/tuple_reduction.cpp                     f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                 111 test/correctness/tuple_reduction.cpp                     f.update(i).hexagon(y).vectorize(x, 32);
f                 114 test/correctness/tuple_reduction.cpp                 f.update(i);
f                 118 test/correctness/tuple_reduction.cpp         Realization result = f.realize(1024, 1024);
f                 140 test/correctness/tuple_reduction.cpp         Func f;
f                 143 test/correctness/tuple_reduction.cpp         f(x, y) = Tuple(x + y - 1000, x - y + 1000);
f                 146 test/correctness/tuple_reduction.cpp             f(x, y) = Tuple(f(x, y)[1] - 1, f(x, y)[1] + 1);
f                 152 test/correctness/tuple_reduction.cpp                 f.update(i);
f                 155 test/correctness/tuple_reduction.cpp                     f.update(i).gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                 157 test/correctness/tuple_reduction.cpp                     f.update(i).hexagon(y).vectorize(x, 32);
f                 162 test/correctness/tuple_reduction.cpp         Realization result = f.realize(1024, 1024);
f                  48 test/correctness/tuple_undef.cpp         Func f("f");
f                  50 test/correctness/tuple_undef.cpp         f(x, y) = Tuple(x + y, undef<int32_t>());
f                  51 test/correctness/tuple_undef.cpp         f(x, y) = Tuple(f(x, y)[0] + undef<int32_t>(), f(x, y)[1] + 2);
f                  54 test/correctness/tuple_undef.cpp         f.add_custom_lowering_pass(new CheckStoreCount(2));
f                  59 test/correctness/tuple_undef.cpp         f.realize({a, b});
f                  76 test/correctness/tuple_undef.cpp         Func f("f");
f                  78 test/correctness/tuple_undef.cpp         f(x, y) = Tuple(x, y);
f                  79 test/correctness/tuple_undef.cpp         f(x, y) = Tuple(undef<int>(), select(x < 20, 20*f(x, y)[0], undef<int>()));
f                  83 test/correctness/tuple_undef.cpp         f.add_custom_lowering_pass(new CheckStoreCount(3));
f                  87 test/correctness/tuple_undef.cpp         f.realize({a, b});
f                 104 test/correctness/tuple_undef.cpp         Func f("f"), g("g");
f                 106 test/correctness/tuple_undef.cpp         f(x, y) = {0, 0};
f                 111 test/correctness/tuple_undef.cpp         f(arg_0, arg_1) = {f(arg_0, arg_1)[0] + 10, f(arg_0, arg_1)[1] + 5};
f                 115 test/correctness/tuple_undef.cpp         f.realize({a, b});
f                 133 test/correctness/tuple_undef.cpp         Func f("f");
f                 135 test/correctness/tuple_undef.cpp         f(x, y) = Tuple(undef<int32_t>(), undef<int32_t>());
f                 138 test/correctness/tuple_undef.cpp         f.add_custom_lowering_pass(new CheckStoreCount(0));
f                 143 test/correctness/tuple_undef.cpp         f.realize({a, b});
f                  10 test/correctness/tuple_update_ops.cpp         Func f("f");
f                  12 test/correctness/tuple_update_ops.cpp         f(x, y) += Tuple(x + y);
f                  14 test/correctness/tuple_update_ops.cpp         Realization result = f.realize(1024, 1024);
f                  30 test/correctness/tuple_update_ops.cpp         Func f("f");
f                  32 test/correctness/tuple_update_ops.cpp         f(x, y) += Tuple(4, 8);
f                  33 test/correctness/tuple_update_ops.cpp         f(x, y) *= Tuple(x + y, x + 13);
f                  34 test/correctness/tuple_update_ops.cpp         f(x, y) /= Tuple(2, 2);
f                  35 test/correctness/tuple_update_ops.cpp         f(x, y) -= Tuple(x, y);
f                  37 test/correctness/tuple_update_ops.cpp         Realization result = f.realize(1024, 1024);
f                  54 test/correctness/tuple_update_ops.cpp         Func f("f"), g("g");
f                  58 test/correctness/tuple_update_ops.cpp         f(x, _) = Tuple(cast<int16_t>(x), cast<int32_t>(g(_)));
f                  59 test/correctness/tuple_update_ops.cpp         f(x, _) += Tuple(cast<int16_t>(2*x), cast<int32_t>(x));
f                  61 test/correctness/tuple_update_ops.cpp         Realization result = f.realize(100, 100, 100);
f                  81 test/correctness/tuple_update_ops.cpp         Func f("f");
f                  83 test/correctness/tuple_update_ops.cpp         f(x, y) = Tuple(x + 13, x + y);
f                  84 test/correctness/tuple_update_ops.cpp         f(x, y) *= f(x, y);
f                  86 test/correctness/tuple_update_ops.cpp         Realization result = f.realize(1024, 1024);
f                 103 test/correctness/tuple_update_ops.cpp         Func f("f");
f                 105 test/correctness/tuple_update_ops.cpp         f(x, y) = Tuple(x + y);
f                 106 test/correctness/tuple_update_ops.cpp         f(x, y) += Tuple(x);
f                 107 test/correctness/tuple_update_ops.cpp         f(x, y) *= f(x, y);
f                 109 test/correctness/tuple_update_ops.cpp         Realization result = f.realize(1024, 1024);
f                   8 test/correctness/two_vector_args.cpp     Func f, g;
f                  13 test/correctness/two_vector_args.cpp     f(x, y) = g(x, x);
f                  15 test/correctness/two_vector_args.cpp     f.vectorize(x, 4);
f                  17 test/correctness/two_vector_args.cpp     Buffer<int> out = f.realize(4, 4);
f                  18 test/correctness/uninitialized_read.cpp     Func f("f"), g("g"), h("h");
f                  22 test/correctness/uninitialized_read.cpp     f(x) = x;
f                  23 test/correctness/uninitialized_read.cpp     f.compute_root();
f                  28 test/correctness/uninitialized_read.cpp     g(x) = f(x) + 1;
f                  35 test/correctness/uninitialized_read.cpp     f.trace_realizations();
f                  14 test/correctness/unrolled_reduction.cpp     Func f("f");
f                  21 test/correctness/unrolled_reduction.cpp     f(x, y, z) = g(x, y) + g(x+1, y);
f                  24 test/correctness/unrolled_reduction.cpp     g.compute_at(f, y).update().split(r.x, rxo, rxi, 2).unroll(rxi);
f                  25 test/correctness/unrolled_reduction.cpp     f.unroll(z, 2);
f                  27 test/correctness/unrolled_reduction.cpp     Buffer<float> im = f.realize(64, 64, 4);
f                   6 test/correctness/unsafe_dedup_lets.cpp     Func f;
f                  15 test/correctness/unsafe_dedup_lets.cpp     f() = {a, b, 0};
f                  20 test/correctness/unsafe_dedup_lets.cpp     a = f()[0]; b = f()[1];
f                  26 test/correctness/unsafe_dedup_lets.cpp     f() = {b, a % b, r};
f                  37 test/correctness/unsafe_dedup_lets.cpp     f.update().unroll(r, 4);
f                  42 test/correctness/unsafe_dedup_lets.cpp     int result = evaluate<int>(f()[0]);
f                   9 test/correctness/update_chunk.cpp     Func f, g;
f                  13 test/correctness/update_chunk.cpp     f(x, y) = x*y;
f                  15 test/correctness/update_chunk.cpp     g(x, r) = f(r, x)+1;
f                  17 test/correctness/update_chunk.cpp     f.compute_at(g, r);
f                   8 test/correctness/vector_bounds_inference.cpp     Func f("f"), g("g"), h("h");
f                  13 test/correctness/vector_bounds_inference.cpp     f(x, y) = (g(x-1) + g(x+1)) + y;
f                  18 test/correctness/vector_bounds_inference.cpp     Buffer<int> out = f.realize(36, 2);
f                  67 test/correctness/vector_cast.cpp     Func f;
f                  69 test/correctness/vector_cast.cpp     f(x, y) = cast<B>(input(x, y));
f                  73 test/correctness/vector_cast.cpp         f.gpu_tile(x, xo, xi, 64);
f                  80 test/correctness/vector_cast.cpp             f.vectorize(x, vec_width);
f                  84 test/correctness/vector_cast.cpp     Buffer<B> output = f.realize(W, H);
f                 162 test/correctness/vector_cast.cpp     for (auto &f : futures) {
f                 163 test/correctness/vector_cast.cpp         ok &= f.get();
f                   9 test/correctness/vector_extern.cpp     Func f, g;
f                  13 test/correctness/vector_extern.cpp     f(x) = sqrt(cast<float>(x));
f                  15 test/correctness/vector_extern.cpp     f.vectorize(x, 4);
f                  16 test/correctness/vector_extern.cpp     Buffer<float> im = f.realize(32);
f                 639 test/correctness/vector_math.cpp     for (auto &f : futures) {
f                 640 test/correctness/vector_math.cpp         ok &= f.get();
f                   7 test/correctness/vector_print_bug.cpp     Func f;
f                   9 test/correctness/vector_print_bug.cpp     f(x) = print(x);
f                  10 test/correctness/vector_print_bug.cpp     f.vectorize(x, 4);
f                  11 test/correctness/vector_print_bug.cpp     f.realize(8);
f                  19 test/correctness/vectorize_guard_with_if.cpp     Func f;
f                  22 test/correctness/vectorize_guard_with_if.cpp     f(x) = x;
f                  25 test/correctness/vectorize_guard_with_if.cpp     f.vectorize(x, v, TailStrategy::GuardWithIf);
f                  29 test/correctness/vectorize_guard_with_if.cpp     f.set_custom_trace(&my_trace);
f                  30 test/correctness/vectorize_guard_with_if.cpp     f.trace_stores();
f                  32 test/correctness/vectorize_guard_with_if.cpp     Buffer<int> result = f.realize(w);
f                   9 test/correctness/vectorize_mixed_widths.cpp     Func f("f"), g("g");
f                  11 test/correctness/vectorize_mixed_widths.cpp     f(x) = 2*x;
f                  12 test/correctness/vectorize_mixed_widths.cpp     g(x) = f(x)/2;
f                  15 test/correctness/vectorize_mixed_widths.cpp     f.compute_at(g, x).split(x, xo, xi, 16).vectorize(xi, 8).unroll(xi);
f                   6 test/correctness/vectorize_varying_allocation_size.cpp     Func f, g;
f                   9 test/correctness/vectorize_varying_allocation_size.cpp     f(x) = x;
f                  10 test/correctness/vectorize_varying_allocation_size.cpp     g(x) = f(x) + f(x*x-20);
f                  13 test/correctness/vectorize_varying_allocation_size.cpp     f.compute_at(g, xi);
f                  15 test/correctness/vectorized_initialization.cpp     Func f, g;
f                  19 test/correctness/vectorized_initialization.cpp     f(x) = x;
f                  20 test/correctness/vectorized_initialization.cpp     f(r) = f(r-1) + f(r+1);
f                  21 test/correctness/vectorized_initialization.cpp     f.compute_root().vectorize(x, 4);
f                  22 test/correctness/vectorized_initialization.cpp     f.update();
f                  24 test/correctness/vectorized_initialization.cpp     g(x) = f(x);
f                  10 test/correctness/vectorized_load_from_vectorized_allocation.cpp     Func f("f"), g("g");
f                  15 test/correctness/vectorized_load_from_vectorized_allocation.cpp     f(x, y, z) = 100;
f                  17 test/correctness/vectorized_load_from_vectorized_allocation.cpp     f(r.x, r.y, r.z) += 2*g(r.x*r.z, r.y, r.z);
f                  19 test/correctness/vectorized_load_from_vectorized_allocation.cpp     f.update(0).vectorize(r.z, 8);
f                  21 test/correctness/vectorized_load_from_vectorized_allocation.cpp     g.compute_at(f, r.y);
f                  24 test/correctness/vectorized_load_from_vectorized_allocation.cpp     Buffer<int> im = f.realize(size, size, size);
f                  36 test/correctness/vectorized_reduction_bug.cpp         Func f("f"), g("g"), h("h");
f                  46 test/correctness/vectorized_reduction_bug.cpp         f(y, x) = g(x, y);
f                  49 test/correctness/vectorized_reduction_bug.cpp         f.split(x, x_outer, x, 8 * 2);
f                  51 test/correctness/vectorized_reduction_bug.cpp         g.compute_at(f, x_outer);
f                  54 test/correctness/vectorized_reduction_bug.cpp         f.compute_root();
f                  55 test/correctness/vectorized_reduction_bug.cpp         Buffer<int32_t> im = f.realize(100, 100);
f                  36 test/correctness/widening_reduction.cpp         Func f;
f                  37 test/correctness/widening_reduction.cpp         f(x, y) = u8_sat(sum(i16(input(x + r.x, y + r.y)) * kernel(r.x, r.y)) / 16);
f                  42 test/correctness/widening_reduction.cpp             f.gpu_tile(x, y, xi, yi, 16, 16);
f                  44 test/correctness/widening_reduction.cpp             f.hexagon().vectorize(x, 128);
f                  46 test/correctness/widening_reduction.cpp             f.vectorize(x, target.natural_vector_size<uint8_t>());
f                  50 test/correctness/widening_reduction.cpp         Buffer<uint8_t> out = f.realize(W, H, target);
f                  71 test/correctness/widening_reduction.cpp         Func f;
f                  72 test/correctness/widening_reduction.cpp         f(x, y) = { i16(0), i8(0) };
f                  73 test/correctness/widening_reduction.cpp         f(x, y) = {
f                  74 test/correctness/widening_reduction.cpp             f(x, y)[0] + i16(input(x + r.x, y + r.y)) * kernel(r.x, r.y),
f                  75 test/correctness/widening_reduction.cpp             f(x, y)[1] + kernel(r.x, r.y),
f                  79 test/correctness/widening_reduction.cpp         g(x, y) = u8_sat((f(x, y)[0] + f(x, y)[1]) / 16);
f                  17 test/correctness/wrap.cpp         Func f("f"), g("g");
f                  18 test/correctness/wrap.cpp         f(x, y) = x + y;
f                  19 test/correctness/wrap.cpp         g(x, y) = f(x, y);
f                  23 test/correctness/wrap.cpp         Func wrapper = f.in(g);
f                  25 test/correctness/wrap.cpp             Func temp = f.in(g);
f                  34 test/correctness/wrap.cpp         Func f("f"), g("g");
f                  35 test/correctness/wrap.cpp         f(x, y) = x + y;
f                  36 test/correctness/wrap.cpp         g(x, y) = f(x, y);
f                  39 test/correctness/wrap.cpp         Func wrapper1 = f.in();
f                  40 test/correctness/wrap.cpp         Func wrapper2 = f.in();
f                  48 test/correctness/wrap.cpp         Func d("d"), e("e"), f("f"), g("g"), h("h");
f                  51 test/correctness/wrap.cpp         f(x, y) = d(x, y);
f                  55 test/correctness/wrap.cpp         Func wrapper1 = d.in({e, f, g});
f                  56 test/correctness/wrap.cpp         Func wrapper2 = d.in({g, f, e});
f                  67 test/correctness/wrap.cpp     Func f("f"), g("g");
f                  70 test/correctness/wrap.cpp     f(x) = x;
f                  71 test/correctness/wrap.cpp     g(x, y) = f(x);
f                  73 test/correctness/wrap.cpp     Func wrapper = f.in(g).compute_root();
f                  74 test/correctness/wrap.cpp     f.compute_root();
f                  84 test/correctness/wrap.cpp         {wrapper.name(), {f.name()}},
f                  85 test/correctness/wrap.cpp         {f.name(), {}},
f                 100 test/correctness/wrap.cpp     Func f("f"), g1("g1"), g2("g2"), g3("g3");
f                 103 test/correctness/wrap.cpp     f(x) = x;
f                 104 test/correctness/wrap.cpp     g1(x, y) = f(x);
f                 105 test/correctness/wrap.cpp     g2(x, y) = f(x);
f                 106 test/correctness/wrap.cpp     g3(x, y) = f(x);
f                 108 test/correctness/wrap.cpp     f.compute_root();
f                 109 test/correctness/wrap.cpp     Func f_wrapper = f.in({g1, g2, g3}).compute_root();
f                 120 test/correctness/wrap.cpp             {f_wrapper.name(), {f.name()}},
f                 121 test/correctness/wrap.cpp             {f.name(), {}},
f                 143 test/correctness/wrap.cpp             {f_wrapper.name(), {f.name()}},
f                 144 test/correctness/wrap.cpp             {f.name(), {}},
f                 166 test/correctness/wrap.cpp             {f_wrapper.name(), {f.name()}},
f                 167 test/correctness/wrap.cpp             {f.name(), {}},
f                 183 test/correctness/wrap.cpp     Func f("f"), g("g"), h("h"), i("i");
f                 186 test/correctness/wrap.cpp     f(x, y) = x + y;
f                 187 test/correctness/wrap.cpp     g(x, y) = f(x, y);
f                 188 test/correctness/wrap.cpp     h(x, y) = g(x, y) + f(x, y);
f                 191 test/correctness/wrap.cpp     Func wrapper = f.in();
f                 192 test/correctness/wrap.cpp     f.compute_root();
f                 207 test/correctness/wrap.cpp         {wrapper.name(), {f.name()}},
f                 208 test/correctness/wrap.cpp         {f.name(), {}},
f                 223 test/correctness/wrap.cpp     Func f("f"), g("g");
f                 226 test/correctness/wrap.cpp     f(x, y) = x + y;
f                 227 test/correctness/wrap.cpp     g(x, y) = f(x, y);
f                 229 test/correctness/wrap.cpp     Func wrapper = f.in(g);
f                 235 test/correctness/wrap.cpp     g(r.x, r.y) += 2*f(r.x, r.y);
f                 243 test/correctness/wrap.cpp     f.compute_root();
f                 258 test/correctness/wrap.cpp             {wrapper.name(), {f.name()}},
f                 259 test/correctness/wrap.cpp             {f.name(), {}},
f                 286 test/correctness/wrap.cpp             {wrapper.name(), {f.name()}},
f                 287 test/correctness/wrap.cpp             {f.name(), {}},
f                 306 test/correctness/wrap.cpp     Func f("f"), g("g"), result("result");
f                 309 test/correctness/wrap.cpp     f(x, y) = x + y;
f                 311 test/correctness/wrap.cpp     g(x, y) += 2 * f(x, x);
f                 312 test/correctness/wrap.cpp     g(x, y) += 3 * f(y, y);
f                 318 test/correctness/wrap.cpp     f.compute_root();
f                 328 test/correctness/wrap.cpp         {g.name(), {f.name(), g.name()}},
f                 330 test/correctness/wrap.cpp         {f.name(), {}},
f                 345 test/correctness/wrap.cpp     Func f("f"), g("g"), result("result");
f                 348 test/correctness/wrap.cpp     f(x) = x;
f                 349 test/correctness/wrap.cpp     g(x, y) = f(x);
f                 350 test/correctness/wrap.cpp     result(x, y) = f(x) + g(x, y);
f                 352 test/correctness/wrap.cpp     Func f_in_g = f.in(g).compute_at(g, x);
f                 353 test/correctness/wrap.cpp     Func f_wrapper = f.in().compute_at(result, y);
f                 354 test/correctness/wrap.cpp     f.compute_root();
f                 367 test/correctness/wrap.cpp         {f_wrapper.name(), {f.name()}},
f                 368 test/correctness/wrap.cpp         {f_in_g.name(), {f.name()}},
f                 369 test/correctness/wrap.cpp         {f.name(), {}},
f                 385 test/correctness/wrap.cpp     Func e("e"), f("f"), g("g"), h("h");
f                 389 test/correctness/wrap.cpp     f(x, y) = e(x, y);
f                 390 test/correctness/wrap.cpp     g(x, y) = f(x, y);
f                 395 test/correctness/wrap.cpp     f.compute_at(g, y).vectorize(x, 8);
f                 397 test/correctness/wrap.cpp     Func e_in_f = e.in(f);
f                 400 test/correctness/wrap.cpp     e_in_f.compute_at(f, y).split(x, xo, xi, 8);
f                 412 test/correctness/wrap.cpp         {g.name(), {f.name()}},
f                 413 test/correctness/wrap.cpp         {f.name(), {e_in_f.name()}},
f                 430 test/correctness/wrap.cpp     Func e("e"), f("f"), g("g"), h("h");
f                 434 test/correctness/wrap.cpp     f(x, y) = e(x, y);
f                 435 test/correctness/wrap.cpp     g(x, y) = f(x, y) + e(x, y);
f                 436 test/correctness/wrap.cpp     Func f_in_g = f.in(g).compute_root();
f                 437 test/correctness/wrap.cpp     Func f_in_f_in_g = f.in(f_in_g).compute_root();
f                 438 test/correctness/wrap.cpp     h(x, y) = g(x, y) + f(x, y) + f_in_f_in_g(x, y);
f                 441 test/correctness/wrap.cpp     f.compute_root();
f                 443 test/correctness/wrap.cpp     Func f_in_h = f.in(h).compute_root();
f                 453 test/correctness/wrap.cpp         {f_in_h.name(), {f.name()}},
f                 457 test/correctness/wrap.cpp         {f_in_f_in_g.name(), {f.name()}},
f                 458 test/correctness/wrap.cpp         {f.name(), {e.name()}},
f                 474 test/correctness/wrap.cpp     Func f("f"), g("g"), h("h");
f                 477 test/correctness/wrap.cpp     f(x, y) = x + y;
f                 482 test/correctness/wrap.cpp     r.where(f(r.x, r.y) + h(r.x, r.y) < 50);
f                 486 test/correctness/wrap.cpp     Func f_in_g = f.in(g).compute_at(g, r.x);
f                 487 test/correctness/wrap.cpp     f.compute_root();
f                 499 test/correctness/wrap.cpp         {f_in_g.name(), {f.name()}},
f                 500 test/correctness/wrap.cpp         {f.name(), {}},
f                 557 test/correctness/wrap.cpp     Func f("f"), f_in_g_in_g, f_in_g, f_in_g_in_g_in_h, f_in_g_in_g_in_h_in_h, g("g"), h("h");
f                 560 test/correctness/wrap.cpp     f(x, y) = 2*x + 3*y;
f                 561 test/correctness/wrap.cpp     f.compute_root();
f                 563 test/correctness/wrap.cpp     g(x, y) = f(y, x);
f                 568 test/correctness/wrap.cpp     f_in_g = f.in(g).compute_root().tile(x, y, xi, yi, 8, 8).vectorize(xi).unroll(yi);
f                 585 test/correctness/wrap.cpp             {f_in_g.name(), {f.name()}},
f                 586 test/correctness/wrap.cpp             {f.name(), {}},
f                 610 test/correctness/wrap.cpp             {f_in_g.name(), {f.name()}},
f                 611 test/correctness/wrap.cpp             {f.name(), {}},
f                   7 test/error/ambiguous_inline_reductions.cpp     Func f("f");
f                  11 test/error/ambiguous_inline_reductions.cpp     f(x, y) = product(sum(r1, r1 + r3) + sum(r2, r2 * 2 + r3));
f                  17 test/error/ambiguous_inline_reductions.cpp     f(r1, y) += product(sum(r2, r1 + r2 + r3));
f                  19 test/error/ambiguous_inline_reductions.cpp     Buffer<int> result = f.realize(10, 10);
f                   7 test/error/bad_bound.cpp     Func f("f");
f                  10 test/error/bad_bound.cpp     f(x) = 0;
f                  11 test/error/bad_bound.cpp     f.bound(y, 0, 10);
f                   7 test/error/bad_compute_at.cpp     Func f("f"), g("g"), h("h"), junk1, junk2, junk3;
f                  10 test/error/bad_compute_at.cpp     f(x) = x;
f                  11 test/error/bad_compute_at.cpp     g(x) = f(x);
f                  15 test/error/bad_compute_at.cpp     h(x, y) = g(x) + f(x) + junk1(x) + junk2(x) + junk3(x, y);
f                  25 test/error/bad_compute_at.cpp     f.compute_at(h, x);
f                   7 test/error/bad_const_cast.cpp     Func f;
f                  12 test/error/bad_const_cast.cpp     f(x) = cast<uint8_t>(x) % 256;
f                   9 test/error/bad_fold.cpp     Func f, g;
f                  11 test/error/bad_fold.cpp     f(x, y) = x;
f                  12 test/error/bad_fold.cpp     g(x, y) = f(x-1, y+1) + f(x, y-1);
f                  13 test/error/bad_fold.cpp     f.store_root().compute_at(g, y).fold_storage(y, 2);
f                   9 test/error/bad_host_alignment.cpp     Func f;
f                  17 test/error/bad_host_alignment.cpp     f(x, y) = in(x, y);
f                  18 test/error/bad_host_alignment.cpp     f.compute_root();
f                  21 test/error/bad_host_alignment.cpp     Buffer<uint8_t> result = f.realize(10, 10);
f                   9 test/error/bad_rvar_order.cpp     Func f("f");
f                  11 test/error/bad_rvar_order.cpp     f(x, y) = x + y;
f                  12 test/error/bad_rvar_order.cpp     f(r1.x, r1.y) += f(r1.y, r1.x);
f                  16 test/error/bad_rvar_order.cpp     f.update().reorder(r1.y, r1.x);
f                  18 test/error/bad_rvar_order.cpp     f.realize(10, 10);
f                   7 test/error/bad_schedule.cpp     Func f, g;
f                  10 test/error/bad_schedule.cpp     f(x) = x;
f                  11 test/error/bad_schedule.cpp     g(x) = f(x);
f                  14 test/error/bad_schedule.cpp     f.vectorize(x, 4);
f                   7 test/error/bad_store_at.cpp     Func f("f"), g("g"), h("h");
f                  10 test/error/bad_store_at.cpp     f(x) = x;
f                  11 test/error/bad_store_at.cpp     g(x) = f(x);
f                  17 test/error/bad_store_at.cpp     f.store_at(h, y).compute_root();
f                   8 test/error/clamp_out_of_range.cpp     Func f;
f                  10 test/error/clamp_out_of_range.cpp     f(x) = clamp(cast<int8_t>(x), 0, 255);
f                  11 test/error/clamp_out_of_range.cpp     Buffer<> result = f.realize(42);
f                   7 test/error/constrain_wrong_output_buffer.cpp     Func f;
f                   9 test/error/constrain_wrong_output_buffer.cpp     f(x) = Tuple(x, sin(x));
f                  12 test/error/constrain_wrong_output_buffer.cpp     f.output_buffers()[1].dim(0).set_min(4);
f                  14 test/error/constrain_wrong_output_buffer.cpp     f.compile_jit();
f                   7 test/error/define_after_realize.cpp     Func f, g;
f                  10 test/error/define_after_realize.cpp     f(x) = x;
f                  12 test/error/define_after_realize.cpp     Buffer<int> im = f.realize(10);
f                  15 test/error/define_after_realize.cpp     f(x) += 1;
f                   7 test/error/define_after_use.cpp     Func f, g;
f                  10 test/error/define_after_use.cpp     f(x) = x;
f                  11 test/error/define_after_use.cpp     g(x) = f(x) + 1;
f                  14 test/error/define_after_use.cpp     f(x) += 1;
f                   7 test/error/expanding_reduction.cpp     Func f, g;
f                  19 test/error/expanding_reduction.cpp     f(x, y) = input(x, y);
f                  20 test/error/expanding_reduction.cpp     f(r, y) = f(r, y-1) + f(r, y+1);
f                  22 test/error/expanding_reduction.cpp     f.compute_root();
f                  24 test/error/expanding_reduction.cpp     g(x, y) = f(x, y);
f                  18 test/error/five_d_gpu_buffer.cpp     Func f;
f                  21 test/error/five_d_gpu_buffer.cpp     f(v0, v1, v2, v3, v4) = v0 + 2*v1 + 4*v2 + 8*v3 + 16*v4;
f                  23 test/error/five_d_gpu_buffer.cpp     f.compute_root().gpu_blocks(v3, v4).gpu_threads(v1, v2);
f                  27 test/error/five_d_gpu_buffer.cpp     g(v0) = f(v0 % 2, (v0 / 2) % 2, (v0 / 4) % 2, (v0 / 8) % 2, (v0 / 16) % 2);
f                  16 test/error/float16_t_implicit_downcast.cpp     Halide::Func f;
f                  21 test/error/float16_t_implicit_downcast.cpp     f(x, y) = 0.1f;
f                  24 test/error/float16_t_implicit_downcast.cpp     Buffer<float16_t> simple = f.realize(10, 3);
f                   8 test/error/float_arg.cpp     Func f;
f                  10 test/error/float_arg.cpp     f(x, y) = 3*x + y;
f                  14 test/error/float_arg.cpp     g(x) = f(f(x, 3) * 17.0f, 3);
f                   9 test/error/implicit_args.cpp     Func f("f"), g("g"), h("h");
f                  20 test/error/implicit_args.cpp     f(x, _) = g(_) + 2;
f                  21 test/error/implicit_args.cpp     f(x, _) += h(_) + 3;
f                   9 test/error/init_def_should_be_all_vars.cpp     Func f("f");
f                  11 test/error/init_def_should_be_all_vars.cpp     f(r.x, r.y) = in(r.x, r.y) + 2;
f                  12 test/error/init_def_should_be_all_vars.cpp     f.realize(in.width(), in.height());
f                   9 test/error/lerp_float_weight_out_of_range.cpp     Func f;
f                  10 test/error/lerp_float_weight_out_of_range.cpp     f() = lerp(0, 42, 1.5f);
f                   9 test/error/lerp_mismatch.cpp     Func f;
f                  10 test/error/lerp_mismatch.cpp     f() = lerp(cast<uint16_t>(0), cast<uint8_t>(42), 0.5f);
f                   9 test/error/lerp_signed_weight.cpp     Func f;
f                  10 test/error/lerp_signed_weight.cpp     f() = lerp(cast<uint8_t>(0), cast<uint8_t>(42), cast<int8_t>(16));
f                   9 test/error/memoize_different_compute_store.cpp     Func f, g;
f                  12 test/error/memoize_different_compute_store.cpp     f(x, y) = val + cast<uint8_t>(x);
f                  13 test/error/memoize_different_compute_store.cpp     g(x, y) = f(x, y) + f(x - 1, y) + f(x + 1, y);
f                  16 test/error/memoize_different_compute_store.cpp     f.store_root();
f                  17 test/error/memoize_different_compute_store.cpp     f.compute_at(g, y).memoize();
f                   7 test/error/missing_args.cpp     Func f;
f                  12 test/error/missing_args.cpp     f(x) = im(x, x) + arg;
f                  17 test/error/missing_args.cpp     f.compile_to_object("f.o", args, "f");
f                   8 test/error/modulo_constant_zero.cpp     Func f;
f                  10 test/error/modulo_constant_zero.cpp     f(x) = x % 0;
f                  12 test/error/modulo_constant_zero.cpp     f.realize(10);
f                   7 test/error/nonexistent_update_stage.cpp     Func f;
f                   9 test/error/nonexistent_update_stage.cpp     f(x) = x;
f                  10 test/error/nonexistent_update_stage.cpp     f.update().vectorize(x, 4);
f                   6 test/error/overflow_during_constant_folding.cpp     Func f;
f                   8 test/error/overflow_during_constant_folding.cpp     f(x) = Expr(0x12345678) * Expr(0x76543210);
f                  10 test/error/overflow_during_constant_folding.cpp     f.realize(10);
f                  10 test/error/pointer_arithmetic.cpp     Func f;
f                  13 test/error/pointer_arithmetic.cpp     f(x) = p + 2;
f                   8 test/error/race_condition.cpp     Func f, g;
f                  11 test/error/race_condition.cpp     f(x, y) = 0;
f                  14 test/error/race_condition.cpp     f(r.x, r.y) += f(r.y, r.x);
f                  17 test/error/race_condition.cpp     f.update().parallel(r.y);
f                   7 test/error/reduction_bounds.cpp     Func f("f"), g("g");
f                  11 test/error/reduction_bounds.cpp     f(x) = x;
f                  14 test/error/reduction_bounds.cpp     g(x) = f(g(x-1)) + r;
f                  16 test/error/reduction_bounds.cpp     f.compute_at(g, r.x);
f                   8 test/error/reduction_type_mismatch.cpp     Func f;
f                  11 test/error/reduction_type_mismatch.cpp     f(x) = cast<uint8_t>(0); // The type here...
f                  12 test/error/reduction_type_mismatch.cpp     f(dom) += 1.0f;          // does not match the type here.
f                  15 test/error/reduction_type_mismatch.cpp     Buffer<float> result = f.realize(50);
f                   6 test/error/reuse_var_in_schedule.cpp     Func f;
f                   9 test/error/reuse_var_in_schedule.cpp     f(x) = x;
f                  12 test/error/reuse_var_in_schedule.cpp     f.split(x, xo, xi, 4).split(xo, xo, xi, 4);
f                   6 test/error/reused_args.cpp     Func f;
f                  10 test/error/reused_args.cpp     f(x, x) = x;
f                   7 test/error/rfactor_inner_dim_non_commutative.cpp     Func f("f"), g("g");
f                  10 test/error/rfactor_inner_dim_non_commutative.cpp     f(x, y) = x + y;
f                  11 test/error/rfactor_inner_dim_non_commutative.cpp     f.compute_root();
f                  19 test/error/rfactor_inner_dim_non_commutative.cpp     g(x, y) -= f(r.x, r.y);
f                  10 test/error/specialize_fail.cpp     Func f;
f                  11 test/error/specialize_fail.cpp     f(x) = x;
f                  12 test/error/specialize_fail.cpp     f.specialize(p == 0).vectorize(x, 8);
f                  13 test/error/specialize_fail.cpp     f.specialize_fail("Expected failure");
f                  16 test/error/specialize_fail.cpp     f.realize(100);
f                  10 test/error/thread_id_outside_block_id.cpp     Func f;
f                  12 test/error/thread_id_outside_block_id.cpp     f(x) = x;
f                  14 test/error/thread_id_outside_block_id.cpp     f.gpu_tile(x, xo, xi, 16).reorder(xo, xi);
f                  16 test/error/thread_id_outside_block_id.cpp     f.compile_jit(t);
f                  17 test/error/thread_id_outside_block_id.cpp     Buffer<int> result = f.realize(16);
f                   9 test/error/tuple_arg_select_undef.cpp     Func f("f"), g("g");
f                  11 test/error/tuple_arg_select_undef.cpp     f(x, y) = {0, 0};
f                  17 test/error/tuple_arg_select_undef.cpp     f(arg_0, arg_1) = {f(arg_0, arg_1)[0] + 10, f(arg_0, arg_1)[1] + 5};
f                  19 test/error/tuple_arg_select_undef.cpp     f.realize(100, 100);
f                   9 test/error/tuple_val_select_undef.cpp     Func f("f");
f                  12 test/error/tuple_val_select_undef.cpp     f(x) = {x, select(x < 20, 20*x, undef<int>())};
f                  13 test/error/tuple_val_select_undef.cpp     f.realize(10);
f                   7 test/error/unbounded_input.cpp     Func f;
f                  14 test/error/unbounded_input.cpp     f(x, y) = in(x_coord(x, y), y_coord(x, y));
f                  16 test/error/unbounded_input.cpp     f.compile_jit();
f                   7 test/error/unbounded_output.cpp     Func f;
f                  14 test/error/unbounded_output.cpp     f(x, y) = 0.0f;
f                  16 test/error/unbounded_output.cpp     f(x_coord(r.x, r.y), y_coord(r.x, r.y)) += in(r.x, r.y);
f                  18 test/error/unbounded_output.cpp     f.compile_jit();
f                  14 test/error/undefined_rdom_dimension.cpp     Func f("f"), g("g"), h("h");
f                  20 test/error/undefined_rdom_dimension.cpp     f(x, y, c) = g(x, y, c);
f                  21 test/error/undefined_rdom_dimension.cpp     f(r.x, r.y, c) = f(r.x-1, r.y, c) + h(r.x, r.y, c);
f                  23 test/error/undefined_rdom_dimension.cpp     f.set_error_handler(&halide_error);
f                  24 test/error/undefined_rdom_dimension.cpp     Buffer<int32_t> result = f.realize(100, 5, 3);
f                  10 test/error/vectorize_dynamic.cpp     Func f;
f                  11 test/error/vectorize_dynamic.cpp     f(x, y) = input(x, y) * 2;
f                  17 test/error/vectorize_dynamic.cpp     f.split(x, xo, xi, vector_size).vectorize(xi);
f                  21 test/error/vectorize_dynamic.cpp     Buffer<int> out = f.realize(5, 5);
f                  10 test/error/vectorize_too_little.cpp     Func f;
f                  11 test/error/vectorize_too_little.cpp     f(x, y) = input(x, y) * 2;
f                  12 test/error/vectorize_too_little.cpp     f.vectorize(x, 0);
f                  15 test/error/vectorize_too_little.cpp     Buffer<int> out = f.realize(5, 5);
f                  10 test/error/vectorize_too_much.cpp     Func f;
f                  11 test/error/vectorize_too_much.cpp     f(x, y) = input(x, y) * 2;
f                  12 test/error/vectorize_too_much.cpp     f.vectorize(x, 8).vectorize(y, 8);
f                  15 test/error/vectorize_too_much.cpp     Buffer<int> out = f.realize(5, 5);
f                   7 test/error/wrap_custom_after_shared.cpp     Func f("f"), g1("g1"), g2("g2"), g3("g3"), g4("g4");
f                  10 test/error/wrap_custom_after_shared.cpp     f(x) = x;
f                  11 test/error/wrap_custom_after_shared.cpp     g1(x, y) = f(x);
f                  12 test/error/wrap_custom_after_shared.cpp     g2(x, y) = f(x);
f                  13 test/error/wrap_custom_after_shared.cpp     g3(x, y) = f(x);
f                  17 test/error/wrap_custom_after_shared.cpp     Func wrapper1 = f.in({g1, g4, g3});
f                  18 test/error/wrap_custom_after_shared.cpp     Func wrapper2 = f.in(g3);
f                   7 test/error/wrap_frozen.cpp     Func f("f"), g("g");
f                  10 test/error/wrap_frozen.cpp     f(x) = x;
f                  11 test/error/wrap_frozen.cpp     g(x) = f(x);
f                  12 test/error/wrap_frozen.cpp     Func wrapper = f.in(g);
f                   7 test/error/wrong_type.cpp     Func f;
f                   9 test/error/wrong_type.cpp     f(x) = x;
f                  10 test/error/wrong_type.cpp     Buffer<float> im = f.realize(100);
f                  11 test/generator/acquire_release_generator.cpp         Func f("f");
f                  13 test/generator/acquire_release_generator.cpp         f(x, y) = input(x, y) * 2.0f + 1.0f;
f                  19 test/generator/acquire_release_generator.cpp             f.gpu_tile(x, y, bx, by, tx, ty, 16, 16).compute_root();
f                  21 test/generator/acquire_release_generator.cpp         return f;
f                  12 test/generator/argvcall_generator.cpp         Func f("f"), g("g");
f                  14 test/generator/argvcall_generator.cpp         f(x, y) = max(x, y);
f                  15 test/generator/argvcall_generator.cpp         g(x, y, c) = cast<int32_t>(f(x, y) * c * f1 / f2);
f                  11 test/generator/can_use_target_generator.cpp         Func f("f");
f                  12 test/generator/can_use_target_generator.cpp         f(x, y) = cast<uint32_t>((int32_t)0xdeadbeef);
f                  13 test/generator/can_use_target_generator.cpp         return f;
f                  12 test/generator/cleanup_on_error_generator.cpp         Func f;
f                  13 test/generator/cleanup_on_error_generator.cpp         f(x) = x;
f                  14 test/generator/cleanup_on_error_generator.cpp         f.compute_root();
f                  19 test/generator/cleanup_on_error_generator.cpp             f.gpu_tile(x, xo, xi, 16);
f                  26 test/generator/cleanup_on_error_generator.cpp         g(x) = f(2*x) + f(2*x+1);
f                  61 test/generator/cxx_mangling_aottest.cpp     int (*f)(halide_buffer_t *,
f                  76 test/generator/cxx_mangling_aottest.cpp     printf("HalideTest::cxx_mangling is at: %p\n", (void*) f);
f                  66 test/generator/cxx_mangling_generator.cpp         Func f("f");
f                  73 test/generator/cxx_mangling_generator.cpp         f(x) = select(scale_direction, (input(x) * scale_f + offset) / scale_d,
f                  76 test/generator/cxx_mangling_generator.cpp         return f;
f                  20 test/generator/embed_image_generator.cpp         Func f;
f                  23 test/generator/embed_image_generator.cpp         f(x, y, c) = sum(matrix(j, c) * input(x, y, j));
f                  24 test/generator/embed_image_generator.cpp         return f;
f                  13 test/generator/error_codes_generator.cpp         Func f;
f                  16 test/generator/error_codes_generator.cpp         f(x, y) = input(x, y);
f                  17 test/generator/error_codes_generator.cpp         f.bound(x, 0, f_explicit_bound);
f                  19 test/generator/error_codes_generator.cpp         return f;
f                  74 test/generator/example_generator.cpp         Func f;
f                  75 test/generator/example_generator.cpp         f(x, y) = max(x, y);
f                  76 test/generator/example_generator.cpp         output(x, y, c) = cast(output.type(), f(x, y) * c * compiletime_factor * runtime_factor);
f                  18 test/generator/external_code_generator.cpp         Func f("f");
f                   9 test/generator/float16_t_generator.cpp 	Func f;
f                  10 test/generator/float16_t_generator.cpp 	f(x) = x;
f                  11 test/generator/float16_t_generator.cpp 	return f;
f                  10 test/generator/gpu_object_lifetime_generator.cpp         Func f;
f                  11 test/generator/gpu_object_lifetime_generator.cpp         f(x) = x;
f                  16 test/generator/gpu_object_lifetime_generator.cpp             f.gpu_tile(x, xo, xi, 16);
f                  20 test/generator/gpu_object_lifetime_generator.cpp         return f;
f                  13 test/generator/gpu_only_generator.cpp         Func f("f");
f                  14 test/generator/gpu_only_generator.cpp         f(x, y) = input(x, y) * 2;
f                  19 test/generator/gpu_only_generator.cpp             f.gpu_tile(x, y, xo, yo, xi, yi, 16, 16);
f                  21 test/generator/gpu_only_generator.cpp         return f;
f                  10 test/generator/image_from_array_generator.cpp         Func f;
f                  11 test/generator/image_from_array_generator.cpp         f(x) = x;
f                  12 test/generator/image_from_array_generator.cpp         return f;
f                  13 test/generator/mandelbrot_generator.cpp     Complex(FuncRef f) : t(Tuple(f)) {}
f                  15 test/generator/matlab_generator.cpp         Func f("f");
f                  16 test/generator/matlab_generator.cpp         f(x, y) = input(x, y) * scale * select(negate, -1.0f, 1.0f);
f                  17 test/generator/matlab_generator.cpp         return f;
f                  13 test/generator/memory_profiler_mandelbrot_generator.cpp     Complex(FuncRef f) : t(Tuple(f)) {}
f                   9 test/generator/multitarget_generator.cpp         Func f("f");
f                  11 test/generator/multitarget_generator.cpp             f(x, y) = cast<uint32_t>((int32_t)0xdeadbeef);
f                  13 test/generator/multitarget_generator.cpp             f(x, y) = cast<uint32_t>((int32_t)0xf00dcafe);
f                  15 test/generator/multitarget_generator.cpp         return f;
f                  47 test/generator/nested_externs_generator.cpp         for (Func f : { extern_stage_1, extern_stage_2, extern_stage_combine }) {
f                  48 test/generator/nested_externs_generator.cpp             auto args = f.args();
f                  49 test/generator/nested_externs_generator.cpp             f.compute_root().reorder_storage(args[2], args[0], args[1]);
f                  90 test/generator/nested_externs_generator.cpp         for (Func f : { extern_stage_1, extern_stage_2, extern_stage_combine }) {
f                  91 test/generator/nested_externs_generator.cpp             auto args = f.args();
f                  92 test/generator/nested_externs_generator.cpp             f.compute_at(root, y).reorder_storage(args[2], args[0], args[1]);
f                  17 test/generator/old_buffer_t_aottest.cpp extern "C" int extern_stage(buffer_t *in2, buffer_t *f, buffer_t *out) {
f                  26 test/generator/old_buffer_t_aottest.cpp     if (f->host == nullptr && f->dev == 0) {
f                  27 test/generator/old_buffer_t_aottest.cpp         f->extent[0] = out->extent[0];
f                  28 test/generator/old_buffer_t_aottest.cpp         f->min[0] = out->min[0];
f                  29 test/generator/old_buffer_t_aottest.cpp         f->extent[1] = out->extent[1];
f                  30 test/generator/old_buffer_t_aottest.cpp         f->min[1] = out->min[1];
f                  36 test/generator/old_buffer_t_aottest.cpp     halide_copy_to_host_legacy(nullptr, f);
f                  39 test/generator/old_buffer_t_aottest.cpp             get_pixel(out, x, y) = get_pixel(in2, x, y + 7) + get_pixel(f, x, y);
f                  13 test/generator/old_buffer_t_generator.cpp         Func f, g;
f                  15 test/generator/old_buffer_t_generator.cpp         f(x, y) = in1(x-1, y-1) + in1(x+1, y+3) + in2(x, y) + scalar_param;
f                  16 test/generator/old_buffer_t_generator.cpp         f.compute_root();
f                  20 test/generator/old_buffer_t_generator.cpp             f.gpu_tile(x, y, xi, yi, 16, 16);
f                  23 test/generator/old_buffer_t_generator.cpp         g.define_extern("extern_stage", {in2, f}, Int(32), 2,
f                   9 test/generator/output_assign_generator.cpp     Func f;
f                  10 test/generator/output_assign_generator.cpp     f(x, y) = cast<int32_t>(x + y + extra);
f                  11 test/generator/output_assign_generator.cpp     return f;
f                  16 test/generator/user_context_generator.cpp         Func f;
f                  17 test/generator/user_context_generator.cpp         f(x, y) = g(x, y);
f                  19 test/generator/user_context_generator.cpp         f.parallel(y);
f                  20 test/generator/user_context_generator.cpp         f.trace_stores();
f                  26 test/generator/user_context_generator.cpp         return f;
f                  16 test/generator/user_context_insanity_generator.cpp         Func f;
f                  17 test/generator/user_context_insanity_generator.cpp         f(x, y) = g(x, y);
f                  19 test/generator/user_context_insanity_generator.cpp         f.parallel(y);
f                  20 test/generator/user_context_insanity_generator.cpp         f.trace_stores();
f                  21 test/generator/user_context_insanity_generator.cpp         return f;
f                   9 test/generator/variable_num_threads_generator.cpp         Func f;
f                  12 test/generator/variable_num_threads_generator.cpp         f(x, y) = sqrt(sqrt(x*y));
f                  13 test/generator/variable_num_threads_generator.cpp         f.parallel(x).parallel(y);
f                  15 test/generator/variable_num_threads_generator.cpp         return f;
f                  24 test/opengl/conv_select.cpp     Func f, g;
f                  27 test/opengl/conv_select.cpp     f(x, y, c) = cast<float>(sum(input(coordx, y, c)));
f                  29 test/opengl/conv_select.cpp     Expr R = select(f(x, y, c) > 9.0f, 1.0f, 0.0f);
f                  30 test/opengl/conv_select.cpp     Expr G = select(f(x, y, c) > 9.0f, 0.f, 1.0f);
f                  12 test/opengl/inline_reduction.cpp     Func f;
f                  15 test/opengl/inline_reduction.cpp     f(x, y, c) = sum(cast<float>(r));
f                  16 test/opengl/inline_reduction.cpp     f.bound(c, 0, 3).glsl(x, y, c);
f                  18 test/opengl/inline_reduction.cpp     Buffer<float> result = f.realize(100, 100, 3, target);
f                  13 test/opengl/multiple_stages.cpp     Func f, g, h;
f                  17 test/opengl/multiple_stages.cpp     f(x, y, c) = h(x, y, c) + cast<uint8_t>(y);
f                  18 test/opengl/multiple_stages.cpp     f.bound(c, 0, 3).glsl(x, y, c);
f                  22 test/opengl/multiple_stages.cpp     Buffer<uint8_t> result = f.realize(10, 10, 3, target);
f                 137 test/opengl/select.cpp     Func f("f");
f                 139 test/opengl/select.cpp     f(x, y, c) = select(y == 0, temp, 255 - temp);
f                 143 test/opengl/select.cpp     f.bound(c, 0, channels).glsl(x, y, c);
f                 147 test/opengl/select.cpp     Buffer<uint8_t> out = f.realize(width, height, channels, target);
f                 173 test/opengl/select.cpp     Func f("f");
f                 175 test/opengl/select.cpp     f(x, y, c) = select(y == 0, temp, 255 - temp);
f                 179 test/opengl/select.cpp     f.bound(c, 0, channels).glsl(x, y, c);
f                 183 test/opengl/select.cpp     Buffer<uint8_t> out = f.realize(width, height, channels, target);
f                  12 test/opengl/set_pixels.cpp     Func f;
f                  15 test/opengl/set_pixels.cpp     f(x, y, c) = cast<uint8_t>(42);
f                  18 test/opengl/set_pixels.cpp     f.bound(c, 0, 3).glsl(x, y, c);
f                  19 test/opengl/set_pixels.cpp     f.realize(out, target);
f                  19 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, T tol, std::function<T(int x, int y, int c)> f) {
f                  36 test/opengl/testing.h                 expected.push_back(f(x, y, c));
f                  58 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, T tol, std::function<T(int x, int y)> f) {
f                  62 test/opengl/testing.h             const T expected = f(x, y);
f                  81 test/opengl/testing.h bool check_result(const Halide::Buffer<T> &buf, Func f) {
f                  82 test/opengl/testing.h     return check_result<T>(buf, 0, f);
f                  54 test/opengl/varying.cpp bool perform_test(const char *label, const Target target, Func f, int expected_nvarying, float tol, std::function<float(int x, int y, int c)> expected_val) {
f                  60 test/opengl/varying.cpp     f.add_custom_lowering_pass(new CountVarying);
f                  61 test/opengl/varying.cpp     f.realize(out, target);
f                  16 test/performance/boundary_conditions.cpp     Func f;
f                  23 test/performance/boundary_conditions.cpp         g(x, y) = f(x - 1, y - 1) + f(x, y) + f(x + 1, y + 1);
f                  49 test/performance/boundary_conditions.cpp         g(x, y) = sum(f(x + r.x, y + r.y));
f                  15 test/performance/clamped_vector_load.cpp double test(Func f, bool test_correctness = true) {
f                  16 test/performance/clamped_vector_load.cpp     f.compile_to_assembly(f.name() + ".s", {input}, f.name());
f                  17 test/performance/clamped_vector_load.cpp     f.compile_jit();
f                  18 test/performance/clamped_vector_load.cpp     f.realize(output);
f                  35 test/performance/clamped_vector_load.cpp     return benchmark(1, 10, [&]() { f.realize(output); });
f                  58 test/performance/clamped_vector_load.cpp         Func f;
f                  59 test/performance/clamped_vector_load.cpp         f(x, y) = input(x, y) * 3 + input(x+1, y);
f                  61 test/performance/clamped_vector_load.cpp         f.vectorize(x, 8);
f                  63 test/performance/clamped_vector_load.cpp         t_ref = test(f, false);
f                  71 test/performance/clamped_vector_load.cpp         Func f;
f                  72 test/performance/clamped_vector_load.cpp         f(x, y) = g(x, y) * 3 + g(x+1, y);
f                  74 test/performance/clamped_vector_load.cpp         f.vectorize(x, 8);
f                  75 test/performance/clamped_vector_load.cpp         f.compile_to_lowered_stmt("debug_clamped_vector_load.stmt", f.infer_arguments());
f                  77 test/performance/clamped_vector_load.cpp         t_clamped = test(f);
f                  85 test/performance/clamped_vector_load.cpp         Func f;
f                  86 test/performance/clamped_vector_load.cpp         f(x, y) = g(x, y) * 3 + g(x+1, y);
f                  88 test/performance/clamped_vector_load.cpp         f.vectorize(x, 8);
f                  89 test/performance/clamped_vector_load.cpp         g.compute_at(f, x);
f                  91 test/performance/clamped_vector_load.cpp         t_scalar = test(f);
f                  99 test/performance/clamped_vector_load.cpp         Func f;
f                 100 test/performance/clamped_vector_load.cpp         f(x, y) = g(x, y) * 3 + g(x+1, y);
f                 102 test/performance/clamped_vector_load.cpp         f.vectorize(x, 8);
f                 103 test/performance/clamped_vector_load.cpp         g.compute_at(f, y);
f                 105 test/performance/clamped_vector_load.cpp         t_pad = test(f);
f                  11 test/performance/const_division.cpp     Func f, g, h;
f                  43 test/performance/const_division.cpp         f(x, y) = input(x, y) / cast<T>(y + min_val);
f                  52 test/performance/const_division.cpp         f(x, y) = input(x, y) % cast<T>(y + min_val);
f                  62 test/performance/const_division.cpp     f.bound(y, 0, num_vals).bound(x, 0, input.width()).unroll(y);
f                  65 test/performance/const_division.cpp         f.vectorize(x);
f                  69 test/performance/const_division.cpp     f.compile_jit();
f                  76 test/performance/const_division.cpp     Buffer<T> fast = f.realize(input.width(), num_vals);
f                  77 test/performance/const_division.cpp     double t_fast = benchmark(5, 200, [&]() { f.realize(fast); });
f                  23 test/performance/fast_pow.cpp     Func f, g, h;
f                  29 test/performance/fast_pow.cpp     f(x, y) = sum(pow_ref((x+1)/512.0f, (y+1+s)/512.0f));
f                  32 test/performance/fast_pow.cpp     f.vectorize(x, 8);
f                  42 test/performance/fast_pow.cpp     f.realize(correct_result);
f                  53 test/performance/fast_pow.cpp     double t1 = 1e3 * benchmark(3, 3, [&]() { f.realize(timing_scratch); });
f                  10 test/performance/inner_loop_parallel.cpp     Func f;
f                  12 test/performance/inner_loop_parallel.cpp     f(x, y) = x + y;
f                  13 test/performance/inner_loop_parallel.cpp     f.parallel(x);
f                  26 test/performance/inner_loop_parallel.cpp         f.compile_jit();
f                  29 test/performance/inner_loop_parallel.cpp         f.realize(t, 1);
f                  30 test/performance/inner_loop_parallel.cpp         double min_time = benchmark(3, 1, [&]() { return f.realize(2, 1000000); });
f                  20 test/performance/jit_stress.cpp         Func f;
f                  21 test/performance/jit_stress.cpp         f(x) = a(x) + b(x);
f                  22 test/performance/jit_stress.cpp         f.realize(c);
f                  12 test/performance/packed_planar_fusion.cpp     Func f;
f                  13 test/performance/packed_planar_fusion.cpp     f(x, y, c) = src(x, y, c);
f                  16 test/performance/packed_planar_fusion.cpp         f.output_buffer()
f                  25 test/performance/packed_planar_fusion.cpp         f.vectorize(x, 16);
f                  29 test/performance/packed_planar_fusion.cpp         f.reorder(c, x, y).fuse(c, x, fused).vectorize(fused, 16);
f                  32 test/performance/packed_planar_fusion.cpp         f.reorder(c, x, y).unroll(c).vectorize(x, 16);
f                  35 test/performance/packed_planar_fusion.cpp         f.reorder(c, x, y).unroll(c).vectorize(x, 16);
f                  38 test/performance/packed_planar_fusion.cpp     f.realize(dst);
f                  40 test/performance/packed_planar_fusion.cpp     return benchmark(5, 10, [&]() { return f.realize(dst); });
f                  13 test/performance/parallel_performance.cpp     Func f, g;
f                  17 test/performance/parallel_performance.cpp     f(x, y) = math;
f                  20 test/performance/parallel_performance.cpp     f.parallel(y);
f                  22 test/performance/parallel_performance.cpp     Buffer<float> imf = f.realize(W, H);
f                  24 test/performance/parallel_performance.cpp     double parallelTime = benchmark(1, 1, [&]() { f.realize(imf); });
f                  20 test/performance/profiler.cpp     Func f[30];
f                  23 test/performance/profiler.cpp         f[i] = Func("fn" + std::to_string(i));
f                  25 test/performance/profiler.cpp             f[i](c, x) = cast<float>(x + c);
f                  27 test/performance/profiler.cpp             Expr e = f[i-1](c, x);
f                  31 test/performance/profiler.cpp             f[i](c, x) = e;
f                  33 test/performance/profiler.cpp             f[i](c, x) = f[i-1](c, x)*2.0f;
f                  41 test/performance/profiler.cpp     out(c, x) += r*f[29](c, x);
f                  47 test/performance/profiler.cpp         f[i].compute_at(out, x);
f                 154 test/performance/sort.cpp     Func f = bitonic_sort(input, N);
f                 155 test/performance/sort.cpp     f.bound(x, 0, N);
f                 156 test/performance/sort.cpp     f.compile_jit();
f                 159 test/performance/sort.cpp     f.realize(bitonic_sorted);
f                 161 test/performance/sort.cpp         f.realize(bitonic_sorted);
f                 165 test/performance/sort.cpp     f = merge_sort(input, N);
f                 166 test/performance/sort.cpp     f.bound(x, 0, N);
f                 167 test/performance/sort.cpp     f.compile_jit();
f                 170 test/performance/sort.cpp     f.realize(merge_sorted);
f                 172 test/performance/sort.cpp         f.realize(merge_sorted);
f                  38 test/performance/vectorize.cpp     Func f, g;
f                  49 test/performance/vectorize.cpp     f(x, y) = e;
f                  51 test/performance/vectorize.cpp     f.bound(x, 0, vec_width).vectorize(x);
f                  59 test/performance/vectorize.cpp     Buffer<A> outputf = f.realize(W, H);
f                  65 test/performance/vectorize.cpp         f.realize(outputf);
f                  31 test/performance/vectorize_pred.cpp     Func f, g;
f                  45 test/performance/vectorize_pred.cpp     f(x, y) = undef<A>();
f                  46 test/performance/vectorize_pred.cpp     f(r.x, r.y) = e;
f                  49 test/performance/vectorize_pred.cpp     f.update(0).vectorize(r.x);
f                  52 test/performance/vectorize_pred.cpp     Buffer<A> outputf = f.realize(W, H);
f                  58 test/performance/vectorize_pred.cpp         f.realize(outputf);
f                  37 test/performance/wrap.cpp     Func f[stages];
f                  39 test/performance/wrap.cpp         Expr prev = (i == 0) ? Expr(0) : Expr(f[i-1](x, y));
f                  48 test/performance/wrap.cpp             f[i](x, y) = stencil;
f                  50 test/performance/wrap.cpp             f[i](x, y) = f[i-1](x, y) + stencil;
f                  54 test/performance/wrap.cpp     Func final = f[stages-1];
f                  59 test/performance/wrap.cpp         f[i].compute_at(final, xo).gpu_threads(x, y);
f                  81 test/performance/wrap.cpp     Func f[stages];
f                  83 test/performance/wrap.cpp         Expr prev = (i == 0) ? Expr(0) : Expr(f[i-1](x, y));
f                  92 test/performance/wrap.cpp             f[i](x, y) = stencil;
f                  94 test/performance/wrap.cpp             f[i](x, y) = f[i-1](x, y) + stencil;
f                  98 test/performance/wrap.cpp     Func final = f[stages-1];
f                 103 test/performance/wrap.cpp         f[i].compute_at(final, xo).gpu_threads(x, y);
f                   7 test/warning/double_vectorize.cpp     Func f, g;
f                   9 test/warning/double_vectorize.cpp     f(x, y) = x + y;
f                  10 test/warning/double_vectorize.cpp     g(x, y) = f(x, y) + f(x + 1, y);
f                  15 test/warning/double_vectorize.cpp     f.compute_at(g, xi).vectorize(x);
f                   7 test/warning/hidden_pure_definition.cpp     Func f;
f                  10 test/warning/hidden_pure_definition.cpp     f(x) = x;
f                  13 test/warning/hidden_pure_definition.cpp     f(x) = 2;
f                   7 test/warning/parallel_size_one.cpp     Func f;
f                  10 test/warning/parallel_size_one.cpp     f(x, y) = x + y;
f                  11 test/warning/parallel_size_one.cpp     f.bound(y, 0, 1);
f                  12 test/warning/parallel_size_one.cpp     f.parallel(y);
f                  14 test/warning/parallel_size_one.cpp     f.realize(10, 1);
f                   7 test/warning/vectorize_size_one.cpp     Func f, g;
f                   9 test/warning/vectorize_size_one.cpp     f(x, y) = x + y;
f                  10 test/warning/vectorize_size_one.cpp     g(x, y) = f(x, y);
f                  15 test/warning/vectorize_size_one.cpp     f.compute_at(g, x).vectorize(x);
f                  19 tools/build_halide_h.cpp     FILE *f = fopen(header.c_str(), "r");
f                  21 tools/build_halide_h.cpp     if (f == NULL) {
f                  28 tools/build_halide_h.cpp     while (fgets(line, 1024, f)) {
f                  44 tools/build_halide_h.cpp     fclose(f);
f                 103 tools/halide_image_io.h     FileOpener(const char* filename, const char* mode) : f(fopen(filename, mode)) {
f                 107 tools/halide_image_io.h         if (f != nullptr) {
f                 108 tools/halide_image_io.h             fclose(f);
f                 115 tools/halide_image_io.h             status = fgets(buf, maxlen, f);
f                 119 tools/halide_image_io.h     FILE * const f;
f                 158 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "rb");
f                 159 tools/halide_image_io.h     if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false;
f                 160 tools/halide_image_io.h     if (!check(fread(header, 1, 8, f.f) == 8, "File ended before end of header\n")) return false;
f                 173 tools/halide_image_io.h     png_init_io(png_ptr, f.f);
f                 262 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "wb");
f                 263 tools/halide_image_io.h     if (!check(f.f != nullptr, "[write_png_file] File %s could not be opened for writing\n", filename.c_str())) return false;
f                 274 tools/halide_image_io.h     png_init_io(png_ptr, f.f);
f                 347 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "rb");
f                 348 tools/halide_image_io.h     if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false;
f                 355 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 361 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 363 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 377 tools/halide_image_io.h         if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 8-bit data\n")) return false;
f                 388 tools/halide_image_io.h         if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 16-bit data\n")) return false;
f                 415 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "wb");
f                 416 tools/halide_image_io.h     if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false;
f                 417 tools/halide_image_io.h     fprintf(f.f, "P5\n%d %d\n%d\n", im.width(), im.height(), (1<<bit_depth)-1);
f                 428 tools/halide_image_io.h         if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 8-bit data\n")) return false;
f                 441 tools/halide_image_io.h         if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 16-bit data\n")) return false;
f                 452 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "rb");
f                 453 tools/halide_image_io.h     if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false;
f                 460 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 466 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 468 tools/halide_image_io.h     f.readLine(buf, 1024);
f                 482 tools/halide_image_io.h         if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 8-bit data\n")) return false;
f                 495 tools/halide_image_io.h         if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 16-bit data\n")) return false;
f                 527 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "wb");
f                 528 tools/halide_image_io.h     if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false;
f                 529 tools/halide_image_io.h     fprintf(f.f, "P6\n%d %d\n%d\n", im.width(), im.height(), (1<<bit_depth)-1);
f                 553 tools/halide_image_io.h         if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 8-bit data\n")) return false;
f                 586 tools/halide_image_io.h         if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 16-bit data\n")) return false;
f                 620 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "wb");
f                 621 tools/halide_image_io.h     if (!check(f.f != nullptr,
f                 628 tools/halide_image_io.h     jpeg_stdio_dest(&cinfo, f.f);
f                 679 tools/halide_image_io.h     Internal::FileOpener f(filename.c_str(), "rb");
f                 680 tools/halide_image_io.h     if (!check(f.f != nullptr,
f                 687 tools/halide_image_io.h     jpeg_stdio_src(&cinfo, f.f);
f                 765 tools/halide_image_io.h     load_image(const std::string &f) : filename(f) {}
f                  82 tutorial/lesson_04_debugging_2.cpp         Func f;
f                  83 tutorial/lesson_04_debugging_2.cpp         f(x, y) = sin(x) + cos(y);
f                 100 tutorial/lesson_04_debugging_2.cpp         Func f;
f                 101 tutorial/lesson_04_debugging_2.cpp         f(x, y) = sin(x) + print(cos(y), "<- this is cos(", y, ") when x =", x);
f                 104 tutorial/lesson_04_debugging_2.cpp         f.realize(4, 4);
f                 129 tutorial/lesson_04_debugging_2.cpp         Func f;
f                 132 tutorial/lesson_04_debugging_2.cpp         f(x, y) = sin(x) + e;
f                 134 tutorial/lesson_04_debugging_2.cpp         f.realize(640, 480);
f                  46 tutorial/lesson_09_update_definitions.cpp         Func f;
f                  47 tutorial/lesson_09_update_definitions.cpp         f(x, y) = x + y;
f                  52 tutorial/lesson_09_update_definitions.cpp         f(3, 7) = 42;
f                  58 tutorial/lesson_09_update_definitions.cpp         f(x, y) = f(x, y) + 17;
f                  62 tutorial/lesson_09_update_definitions.cpp         f(x, 3) = f(x, 0) * f(x, 10);
f                  66 tutorial/lesson_09_update_definitions.cpp         f(0, y) = f(0, y) / f(3, y);
f                  73 tutorial/lesson_09_update_definitions.cpp         f(x, 17) = x + 8;
f                  74 tutorial/lesson_09_update_definitions.cpp         f(0, y) = y * 8;
f                  75 tutorial/lesson_09_update_definitions.cpp         f(x, x + 1) = x + 8;
f                  76 tutorial/lesson_09_update_definitions.cpp         f(y/2, y) = f(0, y) * 17;
f                  95 tutorial/lesson_09_update_definitions.cpp         f.realize(100, 101);
f                 132 tutorial/lesson_09_update_definitions.cpp         Func f;
f                 133 tutorial/lesson_09_update_definitions.cpp         f(x, y) = (x + y)/100.0f;
f                 153 tutorial/lesson_09_update_definitions.cpp         f(x, r) = f(x, r) * f(x, r);
f                 154 tutorial/lesson_09_update_definitions.cpp         Buffer<float> halide_result = f.realize(100, 100);
f                 241 tutorial/lesson_09_update_definitions.cpp         Func f;
f                 242 tutorial/lesson_09_update_definitions.cpp         f(x, y) = x*y;
f                 244 tutorial/lesson_09_update_definitions.cpp         f(x, 0) = f(x, 8);
f                 246 tutorial/lesson_09_update_definitions.cpp         f(0, y) = f(8, y) + 2;
f                 252 tutorial/lesson_09_update_definitions.cpp         f.vectorize(x, 4).parallel(y);
f                 259 tutorial/lesson_09_update_definitions.cpp         f.update(0).vectorize(x, 4);
f                 264 tutorial/lesson_09_update_definitions.cpp         f.update(1).split(y, yo, yi, 4).parallel(yo);
f                 266 tutorial/lesson_09_update_definitions.cpp         Buffer<int> halide_result = f.realize(16, 16);
f                  98 tutorial/lesson_11_cross_compilation.cpp     FILE *f = fopen("lesson_11_arm_32_android.o", "rb");
f                 100 tutorial/lesson_11_cross_compilation.cpp     if (!f || fread(header, 32, 1, f) != 1) {
f                 104 tutorial/lesson_11_cross_compilation.cpp     fclose(f);
f                 115 tutorial/lesson_11_cross_compilation.cpp     f = fopen("lesson_11_x86_64_windows.obj", "rb");
f                 116 tutorial/lesson_11_cross_compilation.cpp     if (!f || fread(header, 32, 1, f) != 1) {
f                 120 tutorial/lesson_11_cross_compilation.cpp     fclose(f);
f                 132 tutorial/lesson_11_cross_compilation.cpp     f = fopen("lesson_11_arm_32_ios.o", "rb");
f                 133 tutorial/lesson_11_cross_compilation.cpp     if (!f || fread(header, 32, 1, f) != 1) {
f                 137 tutorial/lesson_11_cross_compilation.cpp     fclose(f);
f                 157 tutorial/lesson_17_predicated_rdom.cpp         Func f("f"), g("g");
f                 159 tutorial/lesson_17_predicated_rdom.cpp         f(x, y) = 2 * x + y;
f                 164 tutorial/lesson_17_predicated_rdom.cpp         r1.where(f(r1.x, r1.y) >= 4);
f                 165 tutorial/lesson_17_predicated_rdom.cpp         r1.where(f(r1.x, r1.y) <= 7);
f                 166 tutorial/lesson_17_predicated_rdom.cpp         f(r1.x, r1.y) /= 10;
f                 168 tutorial/lesson_17_predicated_rdom.cpp         f.compute_root();
f                 172 tutorial/lesson_17_predicated_rdom.cpp         r2.where(f(r2.x, r2.y) < 1);