def METHOD_NAME(self) -> int:
    if self._cached_overhead_cost is not None:
        return self._cached_overhead_cost
    execution_cost = self._execution_cost()
    tx_size_cost = self._tx_size_cost()
    step_cnt = self._emulated_step_cnt()
    limit_step_cnt = self._elf_params.neon_evm_steps
    if (tx_size_cost > 0) or (execution_cost > self._small_gas_limit) or (step_cnt > limit_step_cnt):
        last_iteration_cost = 5000
        cancel_cost = 5000
        self._cached_overhead_cost = last_iteration_cost + cancel_cost
    else:
        self._cached_overhead_cost = 0
    return self._cached_overhead_cost