simplify 127 src/AddImageChecks.cpp replace_with_required[name + ".extent." + dim] = simplify(extent_required); simplify 108 src/AlignLoads.cpp Expr dense_base = simplify(ramp->base - shift); simplify 135 src/AlignLoads.cpp Expr slice_base = simplify(ramp->base + i); simplify 146 src/AlignLoads.cpp Expr aligned_base = simplify(ramp->base - aligned_offset); simplify 74 src/AllocationBoundsInference.cpp b[i].min = simplify(b[i].min); simplify 75 src/AllocationBoundsInference.cpp b[i].max = simplify(b[i].max); simplify 83 src/AllocationBoundsInference.cpp max = simplify(min + extent - 1); simplify 86 src/AllocationBoundsInference.cpp extent = simplify((max - min) + 1); simplify 97 src/AllocationBoundsInference.cpp extent = simplify(max_plus_one - min); simplify 39 src/ApplySplit.cpp is_zero(simplify(iter->second % split.factor))) { simplify 313 src/Associativity.cpp arg = simplify(arg); simplify 330 src/Associativity.cpp exprs[idx] = simplify(exprs[idx]); simplify 352 src/Associativity.cpp exprs[idx] = simplify(exprs[idx]); simplify 33 src/Bounds.cpp if (equal(const_true(), simplify(x > zero))) { simplify 35 src/Bounds.cpp } else if (equal(const_true(), simplify(x < zero))) { simplify 53 src/Bounds.cpp return simplify(Min::make(a, b)); simplify 63 src/Bounds.cpp return simplify(Max::make(a, b)); simplify 72 src/Bounds.cpp return simplify(Cast::make(cast->type, a)); simplify 167 src/Bounds.cpp a.min = simplify(a.min); simplify 168 src/Bounds.cpp a.max = simplify(a.max); simplify 639 src/Bounds.cpp Expr simplified = simplify(op); simplify 810 src/Bounds.cpp result.push_back(Range(simplify(min), simplify(extent))); simplify 852 src/Bounds.cpp a[i].min = simplify(a[i].min); simplify 874 src/Bounds.cpp a[i].max = simplify(a[i].max); simplify 883 src/Bounds.cpp a.used = simplify(a.used || b.used); simplify 909 src/Bounds.cpp result[i].min = simplify(max(a[i].min, b[i].min)); simplify 910 src/Bounds.cpp result[i].max = simplify(min(a[i].max, b[i].max)); simplify 951 src/Bounds.cpp return !can_prove(simplify(!overlap)); simplify 975 src/Bounds.cpp return is_one(simplify(condition)); simplify 1060 src/Bounds.cpp value_bounds.min = simplify(value_bounds.min); simplify 1061 src/Bounds.cpp value_bounds.max = fixed ? value_bounds.min : simplify(value_bounds.max); simplify 1442 src/Bounds.cpp result.min = simplify(common_subexpression_elimination(result.min)); simplify 1446 src/Bounds.cpp result.max = simplify(common_subexpression_elimination(result.max)); simplify 1464 src/Bounds.cpp result.min = simplify(result.min); simplify 1465 src/Bounds.cpp result.max = simplify(result.max); simplify 1560 src/Bounds.cpp internal_assert(equal(simplify(r["input"][0].min), 6)); simplify 1561 src/Bounds.cpp internal_assert(equal(simplify(r["input"][0].max), 25)); simplify 1564 src/Bounds.cpp internal_assert(equal(simplify(r["output"][0].min), 4)); simplify 1565 src/Bounds.cpp internal_assert(equal(simplify(r["output"][0].max), 13)); simplify 1569 src/Bounds.cpp internal_assert(equal(simplify(r2[0].min), 4)); simplify 1570 src/Bounds.cpp internal_assert(equal(simplify(r2[0].max), 19)); simplify 181 src/BoundsInference.cpp cval.cond = simplify(!s_cond && cval.cond); simplify 189 src/BoundsInference.cpp cval.cond = simplify(s_cond && cval.cond); simplify 68 src/CodeGen_ARM.cpp Expr tmin = simplify(cast(w, t.min())); simplify 69 src/CodeGen_ARM.cpp Expr tmax = simplify(cast(w, t.max())); simplify 70 src/CodeGen_ARM.cpp Expr tsmin = simplify(cast(ws, t.min())); simplify 71 src/CodeGen_ARM.cpp Expr tsmax = simplify(cast(ws, t.max())); simplify 745 src/CodeGen_ARM.cpp Expr slice_base = simplify(ramp->base + i * num_vecs); simplify 862 src/CodeGen_ARM.cpp base = simplify(base - offset); simplify 902 src/CodeGen_ARM.cpp Expr slice_base = simplify(base + i*ramp->stride); simplify 989 src/CodeGen_C.cpp string size = print_expr(simplify((op->args[0] + 7)/8)); simplify 1363 src/CodeGen_C.cpp conditional_size = simplify(conditional_size); simplify 209 src/CodeGen_Hexagon.cpp body = simplify(body); simplify 1319 src/CodeGen_LLVM.cpp value = codegen(simplify(op->a - op->b * floor(op->a/op->b))); simplify 1924 src/CodeGen_LLVM.cpp Expr slice_base = simplify(ramp->base + i); simplify 2011 src/CodeGen_LLVM.cpp Expr slice_base = simplify(ramp->base + i); simplify 3134 src/CodeGen_LLVM.cpp Expr slice_base = simplify(ramp->base + i); simplify 339 src/CodeGen_OpenGLCompute_Dev.cpp extent = simplify(extent); simplify 84 src/CodeGen_OpenGL_Dev.cpp return simplify(Cast::make(result_type, val)); simplify 362 src/CodeGen_OpenGL_Dev.cpp value = simplify(floor(value)); simplify 364 src/CodeGen_OpenGL_Dev.cpp value = simplify(trunc(value)); simplify 513 src/CodeGen_OpenGL_Dev.cpp result[i] = print_expr(simplify(r->base + i * r->stride)); simplify 64 src/CodeGen_Posix.cpp size_check = common_subexpression_elimination(simplify(size_check)); simplify 71 src/CodeGen_Posix.cpp total_size = simplify(total_size); simplify 328 src/Deinterleave.cpp return simplify(e); simplify 338 src/Deinterleave.cpp return simplify(e); simplify 360 src/Deinterleave.cpp return simplify(e); simplify 370 src/Deinterleave.cpp return simplify(e); simplify 619 src/Deinterleave.cpp Expr diff = simplify(ri->base - r0->base); simplify 725 src/Deinterleave.cpp a = simplify(a); simplify 445 src/Func.cpp old_max = simplify(it->min + it->extent - 1); simplify 453 src/Func.cpp rvars.insert(it + 1, {s.outer, 0, simplify((old_extent - 1 + s.factor)/s.factor)}); simplify 556 src/Func.cpp rvar_bounds.push_back({ rv.var + ".loop_max", simplify(rv.min + rv.extent - 1) }); simplify 77 src/FuseGPUThreadLoops.cpp block_extent[dim] = simplify(Max::make(extent, block_extent[dim])); simplify 97 src/FuseGPUThreadLoops.cpp block_extent[i] = simplify(bounds_of_expr_in_scope(block_extent[i], scope).max); simplify 107 src/FuseGPUThreadLoops.cpp block_extent[i] = simplify(Let::make(op->name, op->value, block_extent[i])); simplify 243 src/FuseGPUThreadLoops.cpp max_size_bytes = simplify(alloc.type.bytes() * alloc.size); simplify 249 src/FuseGPUThreadLoops.cpp max_size_bytes = simplify(max(max_size_bytes, simplify(alloc.size * alloc.type.bytes()))); simplify 349 src/FuseGPUThreadLoops.cpp alloc.size = simplify(alloc.size); simplify 403 src/FuseGPUThreadLoops.cpp s.size = simplify(Let::make(op->name, op->value, s.size)); simplify 421 src/FuseGPUThreadLoops.cpp Expr alloc_size = simplify(alloc.size); simplify 453 src/FuseGPUThreadLoops.cpp const int64_t *current_diff = as_const_int(simplify(dist)); simplify 565 src/FuseGPUThreadLoops.cpp s = LetStmt::make(alloc.name + ".shared_offset", simplify(offset), s); simplify 574 src/FuseGPUThreadLoops.cpp s = LetStmt::make("group_" + std::to_string(i) + ".shared_offset", simplify(offset), s); simplify 268 src/HexagonOptimize.cpp return simplify(-x); simplify 433 src/HexagonOptimize.cpp Expr add_b = Mul::make(simplify(-mul_b->a), mul_b->b); simplify 439 src/HexagonOptimize.cpp Expr add_b = Mul::make(mul_b->a, simplify(-mul_b->b)); simplify 488 src/HexagonOptimize.cpp a0123 = simplify(a0123); simplify 494 src/HexagonOptimize.cpp b0123 = simplify(b0123); simplify 530 src/HexagonOptimize.cpp a0123 = simplify(a0123); simplify 531 src/HexagonOptimize.cpp b0123 = simplify(b0123); simplify 575 src/HexagonOptimize.cpp a01 = simplify(a01); simplify 583 src/HexagonOptimize.cpp b01 = simplify(b01); simplify 1572 src/HexagonOptimize.cpp index_span = simplify(index_span); simplify 1578 src/HexagonOptimize.cpp Expr base = simplify(index_bounds.min); simplify 1591 src/HexagonOptimize.cpp index = simplify(cast(UInt(8).with_lanes(op->type.lanes()), index - base)); simplify 174 src/Lerp.cpp return simplify(result); simplify 178 src/LoopCarry.cpp e = simplify(e); simplify 422 src/LoopCarry.cpp call = simplify(common_subexpression_elimination(call)); simplify 186 src/Lower.cpp s = simplify(s, false); simplify 250 src/Lower.cpp s = simplify(s); simplify 261 src/Lower.cpp s = simplify(s); simplify 266 src/Lower.cpp s = simplify(s); simplify 271 src/Lower.cpp s = simplify(s); simplify 276 src/Lower.cpp s = simplify(s); simplify 314 src/Lower.cpp s = simplify(s); simplify 138 src/ParallelRVar.cpp Interval in = Interval(rv.min, simplify(rv.min + rv.extent - 1)); simplify 144 src/ParallelRVar.cpp Expr pred = simplify(r.predicate()); simplify 157 src/ParallelRVar.cpp hazard = simplify(hazard, false, bounds); simplify 268 src/PartitionLoops.cpp s.condition = simplify(s.condition); simplify 537 src/PartitionLoops.cpp Expr test = simplify(common_subexpression_elimination(min_val - 1 < max_val + 1)); simplify 117 src/Prefetch.cpp value_bounds.min = simplify(value_bounds.min); simplify 118 src/Prefetch.cpp value_bounds.max = fixed ? value_bounds.min : simplify(value_bounds.max); simplify 240 src/Prefetch.cpp prefetch_box.used = simplify(predicate); simplify 355 src/Prefetch.cpp outer_extent = simplify((extent * abs_stride_bytes + max_byte_size - 1)/max_byte_size); simplify 356 src/Prefetch.cpp new_offset += outer_var * simplify(select(is_negative_stride, -max_byte_size, max_byte_size)); simplify 361 src/Prefetch.cpp vector<Expr> args = {base, new_offset, Expr(1), simplify(max_byte_size / elem_size)}; simplify 98 src/PrintLoopNest.cpp Expr max_val = simplify(min_val + extent_val - 1); simplify 77 src/Profiling.cpp Expr cond = simplify(condition); simplify 99 src/Profiling.cpp size = simplify(Select::make(condition, size * type.bytes(), make_zero(UInt(64)))); simplify 233 src/RDom.cpp Expr pred = simplify(dom.domain().predicate()); simplify 24 src/Reduction.cpp if (!equal(simplify(result[i]), simplify(expected[i]))) { simplify 187 src/Reduction.cpp set_predicate(simplify(contents->predicate && predicate)); simplify 1126 src/ScheduleFunctions.cpp is_one(simplify(op->extent)) && simplify 1138 src/ScheduleFunctions.cpp stmt = mutate(substitute(op->name, simplify(op->value), op->body)); simplify 5001 src/Simplify.cpp return simplify(e); simplify 5012 src/Simplify.cpp return is_one(simplify(e)); simplify 5019 src/Simplify.cpp Expr simpler = simplify(a); simplify 5031 src/Simplify.cpp Stmt simpler = simplify(a); simplify 5043 src/Simplify.cpp Expr simpler = simplify(a, true, bi); simplify 5601 src/Simplify.cpp check(min(clamped[i], four), simplify(clamped[i])); simplify 5603 src/Simplify.cpp check(min(clamped[i], five), simplify(clamped[i])); simplify 5605 src/Simplify.cpp check(min(clamped[i], three), simplify(min(clamped[i], three))); simplify 5607 src/Simplify.cpp check(min(clamped[i], -five), simplify(-five)); simplify 5612 src/Simplify.cpp check(max(clamped[i], four), simplify(four)); simplify 5614 src/Simplify.cpp check(max(clamped[i], five), simplify(five)); simplify 5616 src/Simplify.cpp check(max(clamped[i], three), simplify(max(clamped[i], three))); simplify 5618 src/Simplify.cpp check(max(clamped[i], -five), simplify(clamped[i])); simplify 5623 src/Simplify.cpp check(max(min(clamped[i], five), -five), simplify(clamped[i])); simplify 5625 src/Simplify.cpp check(max(min(clamped[i], five), five), simplify(five)); simplify 5628 src/Simplify.cpp check(max(min(clamped[i], -five), -five), simplify(-five)); simplify 5630 src/Simplify.cpp check(max(min(clamped[i], -five), five), simplify(five)); simplify 5632 src/Simplify.cpp check(max(min(clamped[2], -five), three), simplify(three)); simplify 5636 src/Simplify.cpp check(max(min(clamped[2], five), three), simplify(max(clamped[2], three))); simplify 5641 src/Simplify.cpp check(max(min(clamped[0], five), three), simplify(max(min(v1, four), three))); simplify 5645 src/Simplify.cpp check(min(clamped[i] + one, four), simplify(min(clamped[i] + one, four))); simplify 5647 src/Simplify.cpp check(min(clamped[i] + one, five), simplify(clamped[i] + one)); simplify 5649 src/Simplify.cpp check(min(clamped[i] + one, -four), simplify(-four)); simplify 5651 src/Simplify.cpp check(max(min(clamped[i] + one, four), -four), simplify(min(clamped[i] + one, four))); simplify 5655 src/Simplify.cpp check(max(clamped[i] + one, four), simplify(max(clamped[i] + one, four))); simplify 5657 src/Simplify.cpp check(max(clamped[i] + one, five), simplify(five)); simplify 5659 src/Simplify.cpp check(max(clamped[i] + one, -four), simplify(clamped[i] + one)); simplify 5661 src/Simplify.cpp check(min(max(clamped[i] + one, -four), four), simplify(min(clamped[i] + one, four))); simplify 5666 src/Simplify.cpp check(min(max(min(v2, t1), t2), five), simplify(max(min(t1, v2), t2))); simplify 6096 src/Simplify.cpp internal_assert(!is_const(simplify(e))) simplify 6100 src/Simplify.cpp internal_assert(is_const(simplify(e))) simplify 6106 src/Simplify.cpp Expr e2 = simplify(e); simplify 6462 src/Simplify.cpp Expr e = simplify(max(ramp(x, y, 2), broadcast(x, 2)) - max(broadcast(y, 2), ramp(y, y, 2))); simplify 24 src/Simplify.h EXPORT Stmt simplify(Stmt, bool simplify_lets = true, simplify 27 src/Simplify.h EXPORT Expr simplify(Expr, bool simplify_lets = true, simplify 24 src/SimplifySpecializations.cpp def_arg = simplify(substitute(var, value, def_arg)); simplify 27 src/SimplifySpecializations.cpp def_val = simplify(substitute(var, value, def_val)); simplify 60 src/SimplifySpecializations.cpp def_arg = simplify(SimplifyUsingFact(fact).mutate(def_arg)); simplify 63 src/SimplifySpecializations.cpp def_val = simplify(SimplifyUsingFact(fact).mutate(def_val)); simplify 85 src/SimplifySpecializations.cpp Expr c = simplify(it->condition); simplify 355 src/SkipStages.cpp Expr compute_predicate = simplify(common_subexpression_elimination(find_compute.predicate)); simplify 373 src/SkipStages.cpp Expr alloc_predicate = simplify(common_subexpression_elimination(find_alloc.predicate)); simplify 303 src/SlidingWindow.cpp scope.push(op->name, simplify(expand_expr(op->value, scope))); simplify 88 src/Solve.cpp return mul->a * simplify(-1*mul->b); simplify 182 src/Solve.cpp expr = simplify(a + b); simplify 273 src/Solve.cpp expr = simplify(a - b); simplify 334 src/Solve.cpp expr = simplify(a * b); simplify 449 src/Solve.cpp expr = simplify(T::make(a, b)); simplify 520 src/Solve.cpp expr = simplify(T::make(a, b)); simplify 1164 src/Solve.cpp Expr delta = simplify(op->a - op->b); simplify 1331 src/Solve.cpp s.result.min = simplify(common_subexpression_elimination(s.result.min)); simplify 1332 src/Solve.cpp s.result.max = simplify(common_subexpression_elimination(s.result.max)); simplify 1345 src/Solve.cpp s.result.min = simplify(common_subexpression_elimination(s.result.min)); simplify 1346 src/Solve.cpp s.result.max = simplify(common_subexpression_elimination(s.result.max)); simplify 1356 src/Solve.cpp return simplify(r.mutate(e)); simplify 1376 src/Solve.cpp result.min = simplify(result.min); simplify 1377 src/Solve.cpp result.max = simplify(result.max); simplify 1449 src/Solve.cpp Expr out = simplify(solved.result); simplify 1453 src/Solve.cpp in_val = simplify(in_val); simplify 1454 src/Solve.cpp out_val = simplify(out_val); simplify 1547 src/Solve.cpp internal_assert(!is_one(simplify(cond))); simplify 125 src/StorageFolding.cpp Expr min = simplify(box[i-1].min); simplify 126 src/StorageFolding.cpp Expr max = simplify(box[i-1].max); simplify 181 src/StorageFolding.cpp Expr extent = simplify(max - min + 1); simplify 195 src/StorageFolding.cpp Expr max_extent = simplify(bounds_of_expr_in_scope(extent, scope).max); simplify 356 src/StorageFolding.cpp Expr value = simplify(mutate(op->value)); simplify 105 src/TrimNoOps.cpp is_no_op = simplify(common_subexpression_elimination(is_no_op)); simplify 122 src/TrimNoOps.cpp condition = simplify(common_subexpression_elimination(condition)); simplify 126 src/TrimNoOps.cpp condition = make_and(old_condition, make_or(condition, simplify(op->extent <= 0))); simplify 228 src/TrimNoOps.cpp test = simplify(test); simplify 353 src/TrimNoOps.cpp is_no_op.condition = simplify(simplify(common_subexpression_elimination(is_no_op.condition))); simplify 388 src/TrimNoOps.cpp body = simplify(SimplifyUsingBounds(op->name, i).mutate(body)); simplify 423 src/TrimNoOps.cpp stmt = simplify(stmt); simplify 18 src/UnrollLoops.cpp Expr extent = simplify(for_loop->extent); simplify 1212 src/VaryingAttributes.cpp vertex_setup = simplify(vertex_setup); simplify 1213 src/VaryingAttributes.cpp vertex_setup = simplify(vertex_setup); simplify 1214 src/VaryingAttributes.cpp vertex_setup = simplify(vertex_setup); simplify 1215 src/VaryingAttributes.cpp vertex_setup = simplify(vertex_setup); simplify 1222 src/VaryingAttributes.cpp loop_stmt = simplify(loop_stmt, true); simplify 262 src/VectorizeLoops.cpp Expr res = simplify(pred && new_pred); simplify 193 test/correctness/fuzz_simplify.cpp Expr a_j_v = simplify(substitute(vars, a_j)); simplify 194 test/correctness/fuzz_simplify.cpp Expr b_j_v = simplify(substitute(vars, b_j)); simplify 217 test/correctness/fuzz_simplify.cpp Expr simplified = simplify(test); simplify 10 test/correctness/infer_arguments.cpp is_one(simplify(expr == Expr(expected)))); simplify 327 test/correctness/mul_div_mod.cpp Expr re = simplify(ae*be); simplify 426 test/correctness/mul_div_mod.cpp Expr qe = simplify(ae/be); simplify 427 test/correctness/mul_div_mod.cpp Expr re = simplify(ae%be); simplify 487 test/correctness/mul_div_mod.cpp Expr e = simplify(in_e); simplify 490 test/correctness/mul_div_mod.cpp Expr diff = simplify(e - eout); simplify 491 test/correctness/mul_div_mod.cpp Expr smalldiff = simplify(diff < (float) (0.000001) && diff > (float) (-0.000001));