Module CostModels.BoundsOfArray
val of_length : IR.Exp.t -> CostUtils.CostModelEnv.cost_model_env -> ret:'a -> BO.BufferOverrunDomain.Mem.t -> of_function:string -> degree_kind:BO__Polynomials.DegreeKind.t -> CostUtils.BasicCost.t
val linear_length : IR.Exp.t -> CostUtils.CostModelEnv.cost_model_env -> ret:'a -> BO.BufferOverrunDomain.Mem.t -> of_function:string -> CostUtils.BasicCost.t
val logarithmic_length : IR.Exp.t -> CostUtils.CostModelEnv.cost_model_env -> ret:'a -> BO.BufferOverrunDomain.Mem.t -> of_function:string -> CostUtils.BasicCost.t
val n_log_n_length : IR.Exp.t -> CostUtils.CostModelEnv.cost_model_env -> ret:'a -> BO.BufferOverrunDomain.Mem.t -> of_function:string -> BasicCost.t
val op_on_two_lengths : IR.Exp.t -> IR.Exp.t -> f:(CostUtils.BasicCost.t -> CostUtils.BasicCost.t -> 'a) -> CostUtils.CostModelEnv.cost_model_env -> ret:'b -> BO.BufferOverrunDomain.Mem.t -> of_function:string -> 'a